public string SampleString; 对于这样一个字段来说,它是公开的,类的外部也可以直接对它进行操作。
private string _sampleString; 而这样,它就是一个对象内部私有的字段,类的外部无法访问到它。
private string _sampleString; public string SampleString { get { return _sampleString; } set { _sampleString = value; } } 这一段代码,则是典型的“属性”了,通过 get 和 set 访问器,来操控一个内部的私有字段。 同时,get 和 set 内部可以添加更多的控制代码,这就是为什么要用“属性”而不用公共字段的原因。
最常见和简单的形式就是让他变成一个对外部来说“只读”字段 (没有 set 访问器) public string SampleString { get { return _sampleString; } }
get 和 set 访问器在编译后,将变成两个方法,因此你可以看成就是这两个方法的简单写法 (本质上就是)。 public string get_SampleString() { return this._sampleString; } public void set_SampleString(string value) { this._sampleString = value; }