2011-11-09 123 views
8

我對OS X(Unity 3.4.1附帶的版本)使用MonoDevelop 2.4.2,並且想知道是否有某種方法來繼承基類或屬性的註釋。覆蓋屬性的XML註釋

例子:

public class Foo 
{ 
    /// <summary> 
    /// The describes the ABC property 
    /// </summary> 
    public virtual int ABC 
    { 
     get { return _abc; } 
     set { _abc = value; } 
    } 
    protected int _abc; 

    /// <summary> 
    /// The describes the XYZ property 
    /// </summary> 
    public virtual int XYZ 
    { 
     get { return _xyz; } 
     set { _xyz = value; } 
    } 
    protected int _xyz; 
} 

public class Bar : Foo 
{ 
    public override int ABC 
    { 
     set 
     { 
      // DO SOMETHING 
      base.ABC = value; 
     } 
    } 
} 

Bar bar = new Bar(); 

// In MonoDevelop 2.4.2 (OS X), the ABC property doesn't show the comments 
// in the autocomplete popup or when you hover the mouse over the property. 
int abc = bar.ABC; 

// ... but they do show up for XYZ, because it doesn't override 
int xyz = bar.XYZ; 

這個問題似乎有點類似 Comment Inheritance for C# (actually any language),雖然我最關注的,他們在此時編輯器的行爲,這是特定於MonoDevelop中。

該問題中的一些解決方案涉及到< inheritdoc/>,它在MonoDevelop中(或者我濫用它)似乎不是有效的,而Ghostdoc是針對Visual Studio的。

看來唯一的解決方案是複製繼承類中的屬性註釋。有沒有其他的選擇?

+0

我會爲// Do Something改寫OnABCChanged()函數。 – CodingBarfield

回答

1

我不能確定它,但曾經有一個名爲DocFood的插件,現在是MonoDevelop的一部分(最新版本是2.8。*我認爲)。試試吧,我認爲它可以繼承父實現的評論。

+0

感謝您的信息。我以前沒有聽說過。 DocFood似乎已經作爲MonoDevelop 2.4的一個插件被引入,然後被集成到2.6(和2.8)中。該插件由MikeKrüger開發,但看起來該項目已從code.google.com中移除,因爲鏈接不再有效。 http://code.google.com/u/111319935500602416334/updates –

+0

由於Unity目前正在使用MonoDevelop 2.4.2 ...我必須等待檢查出來。這是除非我能同時保留舊插件。 –