Неожиданное поведение с инициализатором объекта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
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

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