Инициализировать частные поля только для чтения после десериализации

Мне нужно инициализировать личное поле только для чтения после десериализации. У меня есть следующие DataContract:

[DataContract]
public class Item
{
    public Item()
    {
        // Constructor not called at Deserialization 
        // because of FormatterServices.GetUninitializedObject is used
        // so field will not be initialized by constructor at Deserialization
        _privateReadonlyField = new object();
    }

    // Initialization will not be called at Deserialization (same reason as for constructor)
    private readonly object _privateReadonlyField = new object();

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

    [OnDeserializing]
    public void OnDeserializing(StreamingContext context)
    {
        // With this line code even not compiles, since readonly fields can be initialized only in constructor
        _privateReadonlyField = new object();
    }
}

Все что мне нужно, чтобы после десериализации _privateReadonlyField не было нуля.

Любые предложения по этому поводу - возможно ли это вообще? Или мне нужно удалить ключ «только для чтения», что не является хорошим вариантом.

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

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