到目前为止,没有显示出对我完全有效的答案。除非完全解决,否则ReSharper不会将see标签转换为可Ctrl点击的链接(例如)。
如果OP中的方法位于名为的命名空间中Test
,则显示的方法的完全解析链接为:
<see cref="M:Test.FancyClass`1.FancyMethod``1(`0)"/>
您可能会发现,在类类型参数数量之前应该只有一个反引号,在方法类型参数数量之前应该只有两个反引号,然后这些参数是带有适当数量的反引号的零索引参数。
因此,我们可以看到FancyClass
具有一个类类型参数,FancyMethod
具有一个类型参数,并且FancyClass
参数类型的对象将传递给该方法。
如您在此示例中可以更清楚地看到:
namespace Test
{
public class FancyClass<A, B>
{
public void FancyMethod<C, D, E>(A a, B b, C c, D d, E e) { }
}
}
链接变为:
M:Test.FancyClass`2.FancyMethod``3(`0,`1,``0,``1,``2)
或“与具有三个类型参数的方法2型参数类其中该方法的参数是ClassType1
,ClassType2
,MethodType1
,MethodType2
,MethodType3
”
另外要注意的是,我在任何地方都找不到此文档,而且我也不是天才,编译器告诉我了这一切。您所要做的就是创建一个测试项目,启用XML文档,然后插入要为其创建链接的代码,并在其上添加XML文档注释的开头(///
):
namespace Test
{
public class FancyClass<T>
{
///
public string FancyMethod<K>(T value) { return "something fancy"; }
}
public class Test
{
public static void Main(string[] args) { }
}
}
然后构建您的项目,输出的XML文档在属性下面的doc
-> members
-> member
元素中包含链接name
:
<?xml version="1.0"?>
<doc>
<assembly>
<name>Test</name>
</assembly>
<members>
<member name="M:Test.FancyClass`1.FancyMethod``1(`0)">
</member>
</members>
</doc>