difference between DataContract attribute and Serializable attribute in .net
Posted
by
samar
on Stack Overflow
See other posts from Stack Overflow
or by samar
Published on 2010-12-28T10:44:57Z
Indexed on
2010/12/28
10:53 UTC
Read the original article
Hit count: 337
I am trying to create a deep clone of an object using the following method.
public static T DeepClone<T>(this T target)
{
using (MemoryStream stream = new MemoryStream())
{
BinaryFormatter formatter = new BinaryFormatter();
formatter.Serialize(stream, target);
stream.Position = 0;
return (T)formatter.Deserialize(stream);
}
}
This method requires an object which is Serialized i.e. an object of a class who is having an attribute "Serializable" on it. I have a class which is having attribute "DataContract" on it but the method is not working with this attribute. I think "DataContract" is also a type of serializer but maybe different than that of "Serializable".
Can anyone please give me the difference between the two? Also please let me know if it is possible to create a deepclone of an object with just 1 attribute which does the work of both "DataContract" and "Serializable" attribute or maybe a different way of creating a deepclone?
Please help!
© Stack Overflow or respective owner