Установка начального значения свойства при использовании DataContractSerializer
Если я сериализую и позже десериализовать класс с помощьюDataContractSerializer
Как я могу контролировать начальные значения свойств, которые не были сериализованы?
РассмотримPerson
класс ниже. Его контракт данных предназначен для сериализацииFirstName
а такжеLastName
свойства, но неIsNew
имущество. я хочуIsNew
Инициализировать в TRUE независимо от того, создается ли новый объект в качестве нового экземпляра или десериализуется из файла.
Это легко сделать через конструктор, но как я понимаюDataContractSerializer
не вызывает конструктор, так как они могут требовать параметров.
[DataContract(Name="Person")]
public class Person
{
[DataMember(Name="FirstName")]
public string FirstName { get; set; }
[DataMember(Name = "LastName")]
public string LastName { get; set; }
public bool IsNew { get; set; }
public Person(string first, string last)
{
this.FirstName = first;
this.LastName = last;
this.IsNew = true;
}
}