我得不到的是,爲什麼實例變量總是私有的,但是auto屬性將它們設置爲public?還是一樣?
我知道自動屬性是想讓事情變得更容易。
通常情況下:
private string name;
public string Name
{
get { return name; }
set { name = value; }
}
隨着自動屬性:
public string Name { get; set; }
但是,如果我們可以只聲明實例變量爲public,就像在汽車性能,我們爲什麼不聲明實例變量在正常版本中也是公共的?
那麼這與以前的完全一樣嗎? :
public string name;
public string Name
{
get { return name; }
set { name = value; }
}
當屬性暴露時,字段或變量通常不會暴露在類之外。這種方式更爲常見。汽車物業是按照慣例設計的。 – Ian
你可以在這個鏈接找到更多。 http://stackoverflow.com/questions/295104/what-is-the-difference-between-a-field-and-a-property-in-c –