Я недавно изучал инициализатор объектов на C#, но теперь мне интересно, как это работает, когда оно конфликтует с конструктором.Constructor vs Object Initializer Precedence в C#
public class A
{
public bool foo { get; set; }
public A()
{
foo = true;
}
public A(bool bar)
{
foo = bar;
}
}
Что происходит, когда я пытаюсь это сделать?
public class B
{
a = A() {foo = false};
b = A(true) {foo = false};
}
Является ли по умолчанию в конструкторе хороший способ иметь bool
, который начинается истинный и может быть изменен?
public A(bar=true)
{
foo = bar;
}
Попробуйте ваш пример. –
Код всего, что только что нажал, запустил – Jonesopolis
. Да, он по-прежнему действителен с инициализатором по умолчанию, но если вы хотите более одного параметра, параметры (ы), которые вы можете забыть, это только параметр (ы) хвоста. – arifnpm