2013-02-07 40 views
3

大家好,我的問題很簡單。是否有可能對財產和私人變量發表一條評論

/// <summary> 
/// a description here. for internal use 
/// </summary> 
private A _Owner; 
/// <summary> 
/// Same description also here. for outside use 
/// </summary> 
public A Owner 
{ 
    get { return _Owner; } 
    set { _Owner = value; } 
} 

有沒有辦法避免兩次寫同一條評論?這只是一個滋擾。

+4

是否需要爲您的私人領域寫評論? – JMan

+1

在這種情況下,我通常會忽略私人領域的描述。 –

+1

我總是隻對公共領域發表評論。 –

回答

6

首先,請注意您不需要爲私有成員,包括場智能感知評論。所以你可以只需刪除第一條評論。如果該字段的含義在名稱中不明顯,那麼您沒有適當地命名它。

其次,最簡單的屬性,你可以完全刪除明確的字段聲明...

/// <summary>a description here</summary> 
public A Owner {get;set;} 
+0

親愛的馬克,雖然我同意你關於命名約定,請考慮magicnumber的情況,你可能需要額外的信息爲私人領域,如我在我的問題的評論中解釋。這是需要私人提交的評論信息的有效和可接受的情況。 –

4

如果它只是一個直觀的背景字段,只需使用自動屬性來避免重複。

/// <summary> 
/// just use an autoprop 
/// </summary> 
public A Owner 
{ 
    get;set; 
} 
2

使用Auto implemented properties,然後你可以指定屬性的單一XML註釋。

/// <summary> 
/// Same description also here. for outside use 
/// </summary> 
public A Owner 
{ 
get; set; 
} 

但是,如果您在get或set中使用私有字段進行操作,則必須指定兩次XML註釋。

還有一件事您可能必須爲屬性指定XML註釋,因爲它暴露在類之外,而不是您的公共字段。

5

不是。但是評論該房產應該足夠了,因爲私人會員不會在你的班級以外顯示。所以只是評論你的財產。

1

不,沒有辦法避免這種情況,因爲intelisense會將書面註釋鏈接到發現的代碼工件。你的情況,你有他們的:

  • 一個是property
  • 另一個是field

所以你的情況,你就需要把它寫兩次,或者像大款建議,使用自動屬性,一旦定義它。