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