2013-01-22 25 views
0

因爲我經常讓LinqToSql生成部分實體類,我想知道如果我通過代碼添加附加屬性的做法是正確的,如果有更好的方法做同樣的事情?我也想知道使用this.PROPERTY_NAME_PROPERTY_NAME訪問其他房屋的價值之間有什麼區別? 在我的網絡應用程序中,我一直使用this.PROPERTY_NAME,但我想知道是否正如我在開篇中所說的那樣,我應該使用正確的方法。另外,什麼是_PROPERTY_NAME我們什麼時候使用它?this.PropertyName和_PropertyName有什麼區別?

實施例:

public partial class User 
{ 
    public bool IsThisProper { 
     get{ 
      return this.SomeIntProperty == 10; // I usually use this 
     } 
    } 

    public bool WhenToUseThisApproach { 
     get{ 
      return _SomeIntProperty == 10; // What is this in comparison to above? 
     } 
    } 
} 
+1

下劃線是避免寫「this」的一種方法。這是一種速記方式,這是一種實體價值。 –

+3

@GilbertLeBlanc下劃線只是另一個在身份名稱中有效的字符。它只是作爲一個前綴來表示私有實例字段的慣例。 – Servy

回答

3

一個是屬性,並且另一種是私人支持字段,其中該屬性存儲它的值。如果你想執行屬性在getter/setter中的任何代碼,那麼使用屬性,如果你不這樣做,那麼不要。機會是你想要使用屬性,而不是字段,尤其是設置(設置它觸發屬性更改的事件,所以關於使用屬性的唯一時間是如果你不想引發該事件)。

+0

感謝您提供正確的術語。使用這個在MSDN上找到更多信息。 – iboros