Svi*_*ish 41 c# generics resharper xml-documentation visual-studio-2008
为谓词助手类编写一些XML文档.但我无法弄清楚我可以参考一个Expression<Func<T, bool>>
没有得到语法错误.它甚至可能吗?我试过这个:
<see cref="Expression{Func{T, bool}}"/>
Run Code Online (Sandbox Code Playgroud)
但我得到一条红色的波浪线{T, bool}}
.这有效:
<see cref="Expression{TDelegate}"/>
Run Code Online (Sandbox Code Playgroud)
有人有线索吗?
更新:
给出的答案(我接受了)似乎确实奏效了.但是现在我已经开始收到很多关于无法解决的问题的警告.我有一个叫做类ExpressionBuilder<T>
,其作品有Expression<Func<T, bool>>
很多.所以我当然想在我的XML评论中引用它.
我尝试了两个我知道的版本:
<see cref="Expression<Func<T, Boolean>>"/>
<see cref="Expression{Func{T, Boolean}}"/>
Run Code Online (Sandbox Code Playgroud)
但是没有工作.(在最后一个问题上,ReSharper下了一个蓝色的波浪形,{T,Boolean}}
我在编辑过程中得到两个警告,我用过它时说:
- 关于'blah blah'的XML注释具有无法解析的cref属性'Expression>'
- 类型参数声明必须是标识符而不是类型.另请参见错误CS0081.
在我试图引用的某个地方有同样的问题Range<Nullable<DateTime>>
(也Range<DateTime?>
没有用.{}和with < >
)
我不应该提到这些种类的仿制药吗?
Ror*_*eod 42
似乎没有办法在XML文档中引用泛型的泛型,因为实际上,没有办法引用任何特定类型的泛型.
Lasse V Karlsen的回答让我点击了:
如果编写<see cref="IEnumerable{Int32}" />
,编译器只使用"Int32"作为类型参数名称,而不是类型参数.写作<see cref="IEnumerable{HelloWorld}" />
也会起作用.这是有道理的,因为MSDN中没有您的文档可以链接到的"IEnumerable of int"的特定页面.
为了正确记录你的课程,我认为你必须写下这样的东西:
<summary>
Returns an <see cref="IEnumerable{T}" /> of <see cref="KeyValuePair{T,U}" />
of <see cref="String" />, <see cref="Int32" />.
</summary>
Run Code Online (Sandbox Code Playgroud)
我希望你喜欢文字.
ang*_*son 12
您希望它链接到什么?
在文档中没有这样的东西Expression<Func<T>>
,所以显然链接到那不起作用.
您可以链接到Expression<TDelegate>
因为存在.
至于什么有效,以下两个在我的Visual Studio 2008/.NET 3.5中都不起作用:
/// <see cref="Expression<Func<T>>"/>.
/// <see cref="Expression{Func{T}}"/>.
Run Code Online (Sandbox Code Playgroud)
但这有效:
/// <see cref="Expression{T}"/>.
Run Code Online (Sandbox Code Playgroud)
显然,泛型类型参数与声明中的参数不一样.
归档时间: |
|
查看次数: |
12336 次 |
最近记录: |