c#在定义类时,通常要把类中声明的对象封装起来,使得外界不能访问这个属性。上述代码中如果去掉set部分,则外界只能读取name的值,如果去掉get部分,则只能给name赋值。这样就可以控制外界对私有属性name的访问权限了,这种写法是C#的一个特性。
当然你也可以通过自己创建函数来对name进行取值和赋值,但这样就显得比较麻烦了。
属性与普通变量不同就在于:属性包括get和set访问器,可以通过设置访问器的访问权限来控制对属性的访问权限,例如:
private int _Old;
public int Old{
get{return _Old;}
set{//
这里加入了验证代码
if(value<0)
throw new ArgumentOutException("value",
"输入值不能小于0");
_Old = value;
}
上面的例子说明属性中可以添加些代码进行处理. 也可以设置的访问的权限等.