public GXDLMSObject Clone()
{
List<Type> types = new List<Type>(GXDLMSClient.GetObjectTypes());
types.Add(typeof(GXDLMSAttributeSettings));
types.Add(typeof(GXDLMSAttribute));
using (Stream stream = new MemoryStream())
{
XmlSerializer x = new XmlSerializer(this.GetType(), types.ToArray());
x.Serialize(stream, this);
stream.Seek(0, SeekOrigin.Begin);
return x.Deserialize(stream) as GXDLMSObject;
}
}