我最近一直在编写类,并使用私有字段和get / set方法来访问这些私有字段。一位朋友告诉我,我使用Auto Implemented属性,因为它可以节省我编程的时间。我想知道这两种方法之间的主要区别是什么,以及Auto Implemented属性是否保持"字段"在运行时私人。
例如我的朋友说我应该用这个:
public int MyProperty { get; set; }
以前我使用类似的东西:
private int field;
public void setField(int i)
{
field = i;
}
public int getField()
{
return field;
}
答案 0 :(得分:1)
防止直接访问字段不仅是一种更好的设计,这是有争议的,而且框架在某些事情上更喜欢字段(以及某些情况下的方法)的属性。
其中一个是数据绑定。您不能将数据绑定到字段,也不能绑定到属性。此外,它允许您设置访问修饰符以允许读取,但不能编写属性,例如。
属性也比Java样式属性更容易编写。最后代码是相同的(因为属性最终成为方法),但对于你作为编码器,它更容易。