XML注释 - 您如何正确地评论显式实现的接口?

m-y*_*m-y 6 c# explicit-interface xml-comments explicit-implementation

码:

public interface IFoo
{
    void Bar();
}

public class FooClass : IFoo
{
    /// <summary> ... </summary>
    /// <seealso cref="?"/> //How do you reference the IFoo.Bar() method
    public void Bar() { }

    /// <summary> ... </summary>
    /// <seealso cref="?"/> //How do you reference the standard Bar() method
    void IFoo.Bar() { }
}
Run Code Online (Sandbox Code Playgroud)

我的猜测是:

<seealso cref="IFoo.Bar()"/> //Explicitly implemented interface method
<seealso cref="Bar()"/>      //Standard method
Run Code Online (Sandbox Code Playgroud)

但是,我不确定.ECMA指南没有帮助区分,所以我想我正在寻找保证我的猜测是正确的.

Teo*_*gul 1

使用 Sandcastle Help File Builder 进行的快速测试显示,在创建的文档中,链接<seealso cref="IFoo.Bar()"/>指向接口中的方法并<seealso cref="Bar()"/>指向类中的方法。显式实现方法的文档是从接口继承的,因此无论如何您实际上应该指向接口方法。

编辑:ReSharper 还抱怨<seealso cref="FooClass.IFoo.Bar()"/>并纠正它<seealso cref="IFoo.Bar()"/>,然后指向接口方法,而不是显式实现的方法。

  • 那么有没有办法通过xml注释来引用显式定义的接口方法呢? (3认同)