Can I use DataContract and Serializable together?

此生再无相见时 提交于 2019-12-03 06:44:26

问题


I am working on WCF service. My all class are already serialize using [Serializable] attribute but due to "k__BackingField" Property Naming problem I used DataContract and DataMember attribute. so Can i use both attribute together like following:

[Serializable]
[DataContract]
public class User
{

  [DataMember]
  public string Name { get; set; }

  [DataMember]
  public int UserID { get; set; }
}

is this correct?

I also got similar solution here. C# automatic property deserialization of JSON

Serializable and DataContract (not versus?)


回答1:


I found an article on MSDN according to this we can use both attribute DataContract and Serializable together.

With [Serializable], all fields become part of the data contract (unless they are marked with [NonSerialized]). With [DataContract], only members marked with [DataMember] are included. Note that if a type has both [DataContract] and [Serializable] attributes on it, it will use the [DataContract] mapping

http://msdn.microsoft.com/en-us/magazine/cc163569.aspx




回答2:


if the problem is in naming why don't you use

[XmlElement(ElementName = "Name")]
public string Name { get; set; } 


来源:https://stackoverflow.com/questions/5405188/can-i-use-datacontract-and-serializable-together

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!