По номиналу, казалось бы, инициализаторы объектов представляют проблему для .NET 4.0 "кодовых контрактов", где обычно инвариант должен быть установлен к тому моменту завершения конструктора объекта. Предположительно, однако, инициализаторы объектов требуют, чтобы свойства были установлены после завершения построения.
Мой вопрос в том, могут ли инварианты "кодовых контрактов" обрабатывать инициализаторы объектов, "как будто" свойства были заданы до завершения конструктора? Это было бы очень приятно!