加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

c# – 如何在xml文档中显示泛型参数参数

发布时间:2020-12-15 21:42:30 所属栏目:百科 来源:网络整理
导读:我可以像这样引用泛型类型/方法定义: /// summary/// Takes a see cref="Func{T}"/./// /summarypublic void MethodT(FuncT func) { } 但是这不起作用: /// summary/// Takes a see cref="Func{Int32}"/./// /summarypublic void Method(Funcint func) { }
我可以像这样引用泛型类型/方法定义:

/// <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
)

他们使用两个链接记录参数选择:

Type: 07002<TSource,07003>

在这里,他们引用了两种类型,而不是一种.其中一个链接看起来像是对委托组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 &lt; T:System.Int32 &gt;"/>

再次,忽略模板以很好地显示它并且仅通过xml,这产生了通过编译器语法验证的标记.当您从xml转换为创建实际文档时,您可能会有更好的运气.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读