Просветите человека, блуждающего во тьме.
public class Reference
{
public int Id { get; set; }
}
public class Item
{
public Reference Reference { get; set; }
}
private static void TryWeirdSyntax()
{
var item = new Item
{
Reference = { Id = 2 } // вот эта строчка
};
}
Билдится, но падает с NullReferenceException. Наткнулся случайно. Что за новшество? Как правильно использовать такой синтаксис?
Здравствуйте, yenik, Вы писали:
Y>Просветите человека, блуждающего во тьме.
Y>Y>public class Reference
Y>{
Y> public int Id { get; set; }
Y>}
Y>public class Item
Y>{
Y> public Reference Reference { get; set; }
Y>}
Y>private static void TryWeirdSyntax()
Y>{
Y> var item = new Item
Y> {
Y> Reference = { Id = 2 } // вот эта строчка
Y> };
Y>}
Y>
Y>Билдится, но падает с NullReferenceException. Наткнулся случайно. Что за новшество? Как правильно использовать такой синтаксис?
Reference = { Id = 2 } задает свойство Id у существующего экземпляра Reference. В данном случае те нужно писать либо new Item { Reference = new Reference { Id = 2 } } , либо создовать экземпляр Reference в конструкторе Item