Я работаю над сервисом WCF.Все мои классы уже сериализуются с использованием атрибута [Serializable], но из-за проблемы именования свойств «k__BackingField» я использовал атрибуты DataContract и DataMember.поэтому могу ли я использовать оба атрибута вместе, как показано ниже:
[Serializable] [DataContract] public class User { [DataMember] public string Name { get; set; } [DataMember] public int UserID { get; set; } }
это правильно?
Я также получил подобное решение здесь. C # автоматическая десериализация свойств JSON
Сериализуемый и DataContract (не против?)
Я нашел статью на MSDN, согласно которой мы можем использовать оба атрибута DataContract и Serializable вместе.
С помощью [Serializable] все поля становятся частью контракта данных (если только они не помечены как [NonSerialized]). С помощью [DataContract] включаются только члены, отмеченные [DataMember]. Обратите внимание, что если тип имеет атрибуты [DataContract] и [Serializable], он будет использовать отображение [DataContract]
http://msdn.microsoft.com/en-us/magazine/cc163569.aspx
, если проблема заключается в наименовании, почему бы вам не использовать
[XmlElement(ElementName = "Name")] public string Name { get; set; }