在C#XML文档中引用genericstypes的generics?

为谓词助手类编写一些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}}下面放了一个蓝色的波形{T,Boolean}}我在编译的地方得到了两个警告,我用它来说:

  1. 对“blah blah”的XML注释具有无法parsing的cref属性“Expression”
  2. types参数声明必须是不是types的标识符。 另见错误CS0081。

我尝试引用Range<Nullable<DateTime>>Range<DateTime?>没有工作,有{}和&lt; &gt;

我不应该提到这种types的generics?

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

Lasse V Karlsen的回答为我点击:

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

为了正确logging你的课程,我想你必须写下如下的东西:

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

我希望你喜欢文字。

你到底想要链接到什么?

Expression<Func<T>>在文档中没有这样的东西,所以显然这个链接是行不通的。

您可以链接到Expression<TDelegate>因为它存在。

至于什么工作或不工作,以下两种工作在Visual Studio 2008 / .NET 3.5中:

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

但是这个工作:

 /// <see cref="Expression{T}"/>. 

所以显然genericstypes参数不必与声明中的一样。

 // Use "&lt;" instead of "<" symbol and "&gt;" instead of ">" symbol. // Sample: <see cref="Expression&lt;Func&lt;T, bool&gt;&gt;"/> 

我现在正在运行,因为我有一个返回List<List<byte>>的函数。 是的,这很丑,但我没有写。 标准免责声明,我知道。

无论如何,在VS 2017与R#终极2017.1,这个文档评论…

 <returns><see cref="List{List{Byte}}" /> of split frames</returns> 

…给我一个语法错误。 但是,这…

<returns><see><cref>List{List{byte}}</cref></see> of split frames</returns>

…才不是。 Eeeenteresting

还丑吗? 是。

丑吗? 我认为这比使用&lt;&gt; 我….