C#中get和set属性的作用

时间:2023-01-26 11:43:26

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; 
}

上面的例子说明属性中可以添加些代码进行处理. 也可以设置的访问的权限等.