Gurux.DLMS.Objects.GXDLMSObject.Clone C# (CSharp) Method

Clone() public method

public Clone ( ) : GXDLMSObject
return GXDLMSObject
        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;
            }
        }