c# – 如何在xml文档中显示泛型参数参数
我可以像这样引用泛型类型/方法定义:
/// <summary> /// Takes a <see cref="Func{T}"/>. /// </summary> public void Method<T>(Func<T> func) { } 但是这不起作用: /// <summary> /// Takes a <see cref="Func{Int32}"/>. /// </summary> public void Method(Func<int> func) { } ReSharper /生成的帮助文件说Func< TResult>. 解决方法
在第一个示例中,您将cref属性的类型指定为类型:Func< T>.这与System命名空间中的类型完全匹配.我们需要为该类型的文档创建一个链接:
Func<TResult> .它很容易找到并链接到.请注意,这会生成一个指向一种类型的链接.
在第二个示例中,当您查找类型Func< Int32>时,这实际上不是具有文档的类型,您可以指向它. System命名空间中的类型是通用的,并带有一个参数.您可能不认为它是完全匹配,但解析器假设Int32是您用于type参数的名称,并且您希望指向它可以在System命名空间中轻松找到的类型.同样,这会生成一个指向您实际可以在System命名空间中找到的类型的链接. 您可能想要创建一个使用两个链接到两种类型的引用,就像在Enumerable.Sum参考页面上完成的那样.对于这种方法, public static int Sum<TSource>( this IEnumerable<TSource> source,Func<TSource,int> selector ) 他们使用两个链接记录参数选择:
在这里,他们引用了两种类型,而不是一种.其中一个链接看起来像是对委托组System.Func的引用(它也不是我们可以指向的文档类型),但它实际上指向System.Func< T,TResult>代表的文件.另一个链接是System.Int32. 如果你变得更正式,你可以这样做. xml通过编译器验证,如果使用则不更改 <see cref="T:System.Func{T:System.Int32}"/> 但是,我不知道它将如何显示在大多数模板中.它是用于记录Entity Framework源代码的内容.有关示例(不能很好地显示),您可以查看System.Data.Entity.Core.Common.CommandTrees.ExpressionBuilder namespace的文档. 我也看到它完成了 <see cref="T:System.Func < T:System.Int32 >"/> 再次,忽略模板以很好地显示它并且仅通过xml,这产生了通过编译器语法验证的标记.当您从xml转换为创建实际文档时,您可能会有更好的运气. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |