c#中可以为属性的读写做限制,写逻辑,这就是setter和getter
标准的写法
class Person
{
// 真实用于存储的变量,要声明为private
private string name;
// 对外界展现的变量,要声明为public
public string Name {
// get操作直接返回真实变量name
get { return name; }
// set操作,被设置的值可以用value变量来读取
set { name = value; }
}
}
这种写法里,可以在set方法里使用value来表示等号右侧的值。
也可以在该方法内写一些逻辑,用来判断value的合法性,甚至修改传进来的值。
简单写法
如果只是为了限制属性的开放性,比如外界只能读不能写则可以简化写法
class Person
{
// Name属性,外部无法赋值,只能读取
public string Name { get; private set; }
}