因为这个代码并未定义 set,所以这个属性乃只读属性,即只可以获取该属性的值,而不可以赋值。
同理,也可以为一个属性,只定义set,而不定义get,这样就成了只写属性,即只可以赋值,而不可以读取。
更多情况下,get/set 也可以为其指定修饰符(public/private/internal)等,对可访问性进行限制。
set 代码段,形同于如下的伪代码:
int a;
public int A;
{
set{ a = value;}
}
//伪代码
public void SetA( int value )
{
a = vlaue;
}
只不过调用方式,是对属性直接赋值,而不是调用方法。同时,value 这个参数名称,是所有属性赋值的内置参数,无法进行修改。
这个属性是只读属性,不能写入值的。
何必呢?现在这个版本都有自动属性了,定义的时候直接public string Message{get;set;}
get 的意思这个字段只能只读,不能赋值