我一直在学习C#中的对象初始值设定项,但现在我想知道它在与构造函数冲突时是如何工作的。构造函数与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