两者中的好习惯是什么?
a)具有默认值的构造函数?
public DoFoo(string parameter = defaultValue)
b)两个构造函数而不是默认值
public DoFoo()
public DoFoo(string parameter)
: this()
答案 0 :(得分:0)
制作默认构造函数并使用默认参数制作构造函数是两回事。哪个更好,取决于您的特殊要求。
答案 1 :(得分:0)
将我的评论写回答:
您提供的2个示例表现不同。
要有相同的行为,您应该执行以下操作:
public DoFoo()
: this("defaultValue")
{
}
public DoFoo(string parameter)
{
// whatever needs to be done
}
我会坚持使用2个构造函数 - 只是为了清楚。
另外正如Habib提供的链接所指出的那样,你可能会遇到序列化问题。