2013-05-13 103 views
0

我什麼也看不見這兩個類之間的差異:字段和自動屬性之間的區別是什麼?

class Class1 
{ 
    public int a; 
} 

class Class2 
{ 
    public int a { get; set; } 
} 

爲什麼使用時,可以使用前者,後者?

+0

另一個類似的問題:[公共領域與自動屬性](http://stackoverflow.com/questions/1180860/public-fields-versus-automatic-properties) – Sam 2013-05-13 21:59:17

回答

4

有了屬性,你可以在事後把你「變」成一個getter/setter方法範式,你會打破更少的代碼

性能也往往與框架,利用反射

的發揮更好
+0

雖然我同意你,這通常被認爲是真正的原因,國際海事組織第一個論點並不合理。您可以輕鬆地將字段轉換爲屬性。 – Kenneth 2013-05-13 22:02:30

+0

@Kenneth如果你這樣做,比[使用你的庫的程序將不得不重新編譯](http://stackoverflow.com/questions/737290/why-prefer-properties-to-public-variables%5C) – 2013-05-13 22:04:58

+1

另外,一個屬性可以在接口中聲明,但是一個字段不能。 – 2013-05-13 22:08:19

相關問題