【问题标题】:XML Comments for Override Properties覆盖属性的 XML 注释
【发布时间】:2011-12-25 02:31:01
【问题描述】:

我正在为 OS X 使用 MonoDevelop 2.4.2(Unity 3.4.1 附带的版本),并且想知道是否有某种方法可以从基类或属性继承 cmets。

例子:

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 的。

该问题中的一些解决方案提到了 ,这在 MonoDevelop 中似乎无效(或者我在滥用它),而 Ghostdoc 是针对 Visual Studio 的。

似乎唯一的解决方案是在继承的类中复制属性 cmets。有其他选择吗?

【问题讨论】:

  • 我会为 //Do Something 使用可覆盖的 OnABCChanged() 函数。

标签: c# properties overriding monodevelop unity3d


【解决方案1】:

我无法真正确认,但曾经有一个名为 DocFood 的插件,现在是 MonoDevelop 的一部分(我认为最新版本是 2.8.*)。试试看,我认为它可以从父实现继承 cmets。

【讨论】:

  • 感谢您的信息。我以前没听说过。 DocFood 似乎是作为 MonoDevelop 2.4 的插件引入的,后来集成到 2.6(和 2.8)中。该插件由 Mike Krüger 开发,但看起来该项目已从 code.google.com 中删除,因为链接不再有效。 code.google.com/u/111319935500602416334/updates
  • 由于 Unity 目前使用的是 MonoDevelop 2.4.2 ...我将不得不等待查看。除非我能同时使用旧插件。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2022-11-02
  • 1970-01-01
  • 2011-09-19
  • 1970-01-01
  • 2011-12-08
  • 1970-01-01
  • 2010-12-01
相关资源
最近更新 更多