Подтвердить что ты не робот

Могу ли я использовать 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; }
}

Правильно ли это?

У меня также есть аналогичное решение. Автоматическая десериализация свойств JSON

Serializable и DataContract (не против?)

4b9b3361

Ответ 1

Я нашел статью на MSDN в соответствии с этим, мы можем использовать оба атрибута DataContract и Serializable вместе.

С помощью [Serializable] все поля становятся частью контракта данных (если они не отмечены [NonSerialized]). С помощью [DataContract] включены только элементы, помеченные [DataMember]. Обратите внимание, что если тип имеет оба атрибута [DataContract] и [Serializable], он будет использовать сопоставление [DataContract]

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

Ответ 2

Если проблема заключается в том, что вы не используете

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