代码:
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() { }
}
我的猜测是:
<seealso cref="IFoo.Bar()"/> //Explicitly implemented interface method
<seealso cref="Bar()"/> //Standard method
但是,我不确定。 ECMA指南没有帮助区分,所以我想我正在寻找保证我的猜测是正确的。
答案 0 :(得分:1)
使用Sandcastle帮助文件生成器进行的快速测试显示,在创建的文档中,链接<seealso cref="IFoo.Bar()"/>
指向界面中的方法,<seealso cref="Bar()"/>
指向类中的方法。显式实现的方法的文档继承自接口,因此您实际上应该指向接口方法。
编辑:ReSharper也向<seealso cref="FooClass.IFoo.Bar()"/>
投诉并将其更正为<seealso cref="IFoo.Bar()"/>
,然后指向接口方法,而不是明确实现的接口方法。
答案 1 :(得分:0)
使用<seealso cref="M:FooClass.IFoo#Bar"/>
。这是XML文档注释文件中使用的语法。
并且不要忘记为类和接口的名称空间添加前缀。如果FooClass
和IFoo
驻留在FooNamespace
中,则必须编写<seealso cref="M:FooNamespace.FooClass.FooNamespace#IFoo#Bar"/>
。具有参数的方法需要完全限定的参数列表。
您将不会获得Intellisense。如果语法错误,编译器也不会抱怨。您需要使用文档生成器对此进行测试。
我用沙堡测试了它,它可以工作,但是它太脆弱了,无法认真使用它。