我在MSDN链接中看到“CompareOrdinal Overloads”。如何在C#中编写这样的链接?
我试过了:
<seealso cref="MyMethod">MyMethod Overloads</seealso>
但是编译器给了我一个警告,即对于有其他重载的方法是一个模糊的引用。
(初学者问题:我是否真的需要编写此标记以链接到重载,还是由文档处理器自动生成?)
答案 0 :(得分:14)
要定位特定的成员,我相信您只需匹配签名:
/// <seealso cref="Foo(int)"/>
static void Foo() { }
/// <seealso cref="Foo()"/>
/// <seealso cref="Foo(float)"/> <------ complains
static void Foo(int a) { }
老实说,我不确定如何生成“所有重载”链接;我假设任何合理的发电机都是自动完成的。
答案 1 :(得分:12)
使用Sandcastle很简单:
<seealso cref="overloads:FullyQualifiedMyMethod">MyMethod Overloads</seealso>
FullyQualifiedMyMethod是达到重载所需的完整路由,包括名称空间和类,即:System.Linq.Enumerable.Sum
然而,VB编译器会发出警告,说明该属性无法解析,可以忽略。
答案 2 :(得分:4)
Xml文档没有方法来引用方法的所有重载。
C#项目最受欢迎的文档生成器是Sandcastle。如有必要,它将自动创建指向重载列表页面的链接。因此,在成员列表页面中,重载方法的名称将仅出现一次,单击它将导航到该方法的重载列表页面,并从那里到特定的重载。
在Xml文档中放置一个指向重载列表页面的链接需要熟悉所使用的外部工具,这可能不是一个好主意。
如果你真的必须拥有它,那么也许一种方法是使用具有特定形式ID的锚。大多数文档生成器提供了一些处理生成文件的前处理或后处理的神秘方法,并且应该让您有机会选择这些锚点并为它们提供适当的href。
其他,它可能比它的价值更麻烦;)