请问有人能给我建议,在写C#
构造函数时应该采取哪种方法?
在其他语言中,如C++
,一切都很好-通常您不会使内部字段可见,并为它们提供getter / setter。
这意味着您可以使用构造函数为类初始化所有/某些本地成员,并感到满意。
C#
有属性
,这使我们可以编写以下内容:
Class x = new Class { Field1 = new Field1 ...., Field2 = new Field2 }
这样可以使对象构建变得更加容易,并且可以省去很多必需的构造函数,如果没有属性
的话就需要它们。
结合使用属性的默认值,我们可以完全摆脱一些实际有用的非专业化构造函数。
现在,删除冗余构造函数并通过字段初始化允许对象构造是否可行?
这种方法有什么缺点?能否给出关于组合使用字段和构造函数的一般建议,或者一些经验法则吗?
谢谢。