c# - 在 C# XML 文档中引用泛型类型的泛型类型?

标签 c# visual-studio-2008 generics resharper xml-documentation

为谓词助手类编写一些 XML 文档。但我不知道我可以引用 Expression<Func<T, bool>>没有语法错误。有可能吗?我试过这个:

<see cref="Expression{Func{T, bool}}"/>

但我在 {T, bool}} 下看到一条红色波浪线.这虽然有效:

<see cref="Expression{TDelegate}"/>

有人知道吗?


更新:

给出的答案(我接受了)似乎有效。但是现在我开始收到很多关于无法解决的问题的警告。我有一门课叫 ExpressionBuilder<T>适用于 Expression<Func<T, bool>>很多。所以我当然想在我的 XML 注释中引用它。

我已经尝试了我所知道的两个版本:

<see cref="Expression&lt;Func&lt;T, Boolean&gt;&gt;"/>
<see cref="Expression{Func{T, Boolean}}"/>

但两者都不起作用。 (在最后一个上,ReSharper 在 {T,Boolean}} 下放置了一条蓝色波浪线,我在使用它的任何地方都会收到两个正在编译的警告,上面写着:

  1. XML comment on 'blah blah' has cref attribute 'Expression>' that could not be resolved
  2. Type parameter declaration must be an identifier not a type. See also error CS0081.

在我尝试引用的地方有同样的问题 Range<Nullable<DateTime>> ( Range<DateTime?> 也不起作用。使用 { } 和 &lt; &gt; )

难道我不应该引用这些类型的泛型吗?

最佳答案

似乎没有办法在 XML 文档中引用泛型的泛型,因为实际上,没有办法引用任何特定类型的泛型。

Lasse V Karlsen 的 answer让它为我点击:

如果你写<see cref="IEnumerable{Int32}" /> ,编译器只使用“Int32”作为类型参数名称,而不是类型参数。写作 <see cref="IEnumerable{HelloWorld}" />也会工作。这是有道理的,因为 MSDN 中没有您的文档可以链接到的“IEnumerable of int”的特定页面。

要正确记录您的类(class),我认为您必须编写如下内容:

<summary>
Returns an <see cref="IEnumerable{T}" /> of <see cref="KeyValuePair{T,U}" /> 
of <see cref="String" />, <see cref="Int32" />.
</summary>

我希望你喜欢文字。

关于c# - 在 C# XML 文档中引用泛型类型的泛型类型?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/684982/

相关文章:

c# - SPGridView 中日期/时间的 ObjectDataSource 过滤

c# - 如何在 C# 中清理 Excel 互操作对象

visual-studio-2008 - 为什么我的 WCF 数据服务客户端代理代码中缺少我的 ServiceOperation 方法?

c++ - 将字符串转换为 long long

c# - 将多个通用接口(interface)传递给一个方法

c# - 如何将参数传递给 Activator.CreateInstance<T>()

c# - 自定义 DataGridViewCell 不触发数据源更改事件

c# - 在 ASP.NET Core 中获取当前星期几

c++ - BitBlt 将位图放到启动屏幕上

swift - 在 Swift 类的泛型中使用协议(protocol)数组