【发布时间】:2010-10-15 15:50:16
【问题描述】:
为谓词助手类编写一些 XML 文档。但我不知道我可以引用Expression<Func<T, bool>> 而不会出现语法错误。甚至可能吗?我试过这个:
<see cref="Expression{Func{T, bool}}"/>
但我在{T, bool}} 下看到一条红色波浪线。这虽然有效:
<see cref="Expression{TDelegate}"/>
有人知道吗?
更新:
给出的答案(我接受了)似乎确实有效。但现在我开始收到很多关于无法解决问题的警告。我有一个名为ExpressionBuilder<T> 的类,它与Expression<Func<T, bool>> 一起使用很多。所以我当然想在我的 XML cmets 中引用它。
我已经尝试了我知道的两个版本:
<see cref="Expression<Func<T, Boolean>>"/>
<see cref="Expression{Func{T, Boolean}}"/>
但两者都不起作用。 (在最后一个上,ReSharper 在{T,Boolean}} 下放了一个蓝色波浪线,我在编译的所有地方都收到了两个警告,上面写着:
- “blah blah”上的 XML 注释具有无法解析的 cref 属性“Expression>”
- 类型参数声明必须是标识符而不是类型。另请参阅错误 CS0081。
在我尝试参考Range<Nullable<DateTime>> 的某个地方遇到同样的问题(Range<DateTime?> 也不起作用。使用 { } 和 &lt; &gt;)
我不应该引用这些泛型吗?
【问题讨论】:
-
我正要问同样的问题。我花了一段时间才找到这个,因为标题不是很关键字。我可以建议,“我如何在 C# XML 文档中引用泛型类型的泛型类型”?您还可以添加“泛型”标签。我没有代表自己做。
-
在 VS2015,Reshaper 9 中工作正常 -
消息显示“类型参数声明必须是标识符而不是类型”;例如,如果你有
List{Int32},它应该是List{T},因为在代码库的某个地方没有真正的List{Int32}类,只有List{T}。Int32是一个类型,T是一个标识符。
标签: c# visual-studio-2008 generics resharper xml-documentation