我想知道class initialization
的最佳做法是什么。
可以写:
private myClass mc = new myClass();
或者:
private myClass mc { get; set; }
public Foo()
{
mc = new myClass();
}
我总是倾向于将其用作field
。将类用作property
是否有任何缺点?我在google上做了一些搜索但没有一个结果给了我这个特定问题的好答案。
答案 0 :(得分:3)
如果它是私人的,那么将其作为财产并没有明显的好处。我只是把它作为一个领域。我使用属性作为与其他类通信API的方式。
答案 1 :(得分:0)
您不必在第二个示例中使用属性。你可以把它写成:
private myClass mc;
public Foo()
{
mc = new myClass();
}
答案 2 :(得分:0)
属性应该是getter / setter,这意味着它们提供了信息隐藏机制的一部分。将它们设为私有并不会有太大作用,因为班级中的所有方法都可以看到私有成员。
答案 3 :(得分:0)
我是第一种方式:
private myClass mc = new myClass();
,因为: