我什麼也看不見這兩個類之間的差異:字段和自動屬性之間的區別是什麼?
class Class1
{
public int a;
}
class Class2
{
public int a { get; set; }
}
爲什麼使用時,可以使用前者,後者?
我什麼也看不見這兩個類之間的差異:字段和自動屬性之間的區別是什麼?
class Class1
{
public int a;
}
class Class2
{
public int a { get; set; }
}
爲什麼使用時,可以使用前者,後者?
有了屬性,你可以在事後把你「變」成一個getter/setter方法範式,你會打破更少的代碼
性能也往往與框架,利用反射
的發揮更好雖然我同意你,這通常被認爲是真正的原因,國際海事組織第一個論點並不合理。您可以輕鬆地將字段轉換爲屬性。 – Kenneth 2013-05-13 22:02:30
@Kenneth如果你這樣做,比[使用你的庫的程序將不得不重新編譯](http://stackoverflow.com/questions/737290/why-prefer-properties-to-public-variables%5C) – 2013-05-13 22:04:58
另外,一個屬性可以在接口中聲明,但是一個字段不能。 – 2013-05-13 22:08:19
public int a { get; set; }
定義屬性: http://msdn.microsoft.com/en-us/library/k69wcs43.aspx
Getter和Setter是implicits
另一個類似的問題:[公共領域與自動屬性](http://stackoverflow.com/questions/1180860/public-fields-versus-automatic-properties) – Sam 2013-05-13 21:59:17