Неожиданное поведение с инициализатором объектаC#

Место общения программистов C#
Anonymous
Неожиданное поведение с инициализатором объекта

Сообщение Anonymous »

Не совсем понимаю, как это работает. Даже не уверен, как я могу использовать инициализатор объекта при создании класса Child. А затем, как он переопределяет мой класс Test по умолчанию.

Код: Выделить всё

internal class Program
{
static void Main(string[] args)
{
Child child = new Child
{
Test = { Name = "hello" }
};

//child.Test.Name prints out "hello"
}
}

public class Child : Parent
{
public Child()
{
}
}

public abstract class Parent
{
public Test Test { get; }

protected Parent()
{
Test = new Test { Name = "Default" };
}
}

public class Test
{
public string Name { get; set; }
}
Ожидается ошибка, но я не могу использовать инициализатор объекта в тесте, а значение по умолчанию невозможно изменить.

Подробнее здесь: https://stackoverflow.com/questions/791 ... nitializer

Вернуться в «C#»