我可以一起使用DataContract和Serializable吗?

Raj*_*mar 25 wcf datacontract serializable

我正在研究WCF服务.我的所有类都已使用[Serializable]属性进行序列化,但由于"k__BackingField"属性命名问题,我使用了DataContract和DataMember属性.我可以同时使用这两个属性,如下所示:

[Serializable]
[DataContract]
public class User
{

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

  [DataMember]
  public int UserID { get; set; }
}
Run Code Online (Sandbox Code Playgroud)

它是否正确?

我也有类似的解决方案. C#自动对JSON进行反序列化

Serializable和DataContract(不是?)

Raj*_*mar 40

我在MSDN上发现了一篇文章,我们可以同时使用属性DataContract和Serializable.

使用[Serializable],所有字段都成为数据协定的一部分(除非它们标有[NonSerialized]).使用[DataContract]时,仅包含标有[DataMember]的成员.请注意,如果类型上同时包含[DataContract]和[Serializable]属性,它将使用[DataContract]映射

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