写法:
Class PropertyExmaple
{
private string strProp;
public string Prop
{
get{ return strProp;}
set( strProp=value;)
}
}
在上边代码中,定义了一个 Prop的属性,并分别设置了get与set accessor 属性,这样就可以对这个属性进行,读取与赋值操作。此时在使用该属性时与public的变量在使用上并无区别,那我们为什么要用属性,而不直接使用public string strProp呢?下边在看这样一段代码:
class PropertyExample
{
private string strProp;
public string Prop
{
get
{
return strProp;
}
set
{
if(value.Length>8)
{
MessageBox.Show("超出范围");
return;
}
else
{
strProp=value;
}
}
}
}
这样我们在属性的set属性中就对输入的值进行了有效性验证,如果用户用户输入的值超过8个字符就会弹出提示对话框,并且不会对变量strProp进行赋值,从而控制了赋值的有效性!
使用属性时,尽量不要只写成代码1那样子,这样就失去了属性真正的意义。