Установка начального значения свойства при использовании 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;
    }
}

Ответы на вопрос(2)

Ваш ответ на вопрос