如何在C#文档注释中引用嵌套泛型类型
C#文档注释中嵌套泛型的cref引用正确写法
针对你遇到的嵌套泛型在cref中报错的问题,分两种场景给出正确写法:
1. 在泛型上下文(泛型类/方法)中引用
如果你的代码处于泛型类或泛型方法中,T是当前上下文已声明的类型参数,直接写成下面的格式是完全正确的:
<see cref="Expression{List{T}}" />
如果Rider仍提示错误,先检查两个点:
- 是否在代码中引用了
System.Linq.Expressions命名空间(Expression<T>所在的命名空间); - 当前类/方法是否正确声明了类型参数
T(比如类声明为public class MyClass<T>,方法声明为public void MyMethod<T>())。
2. 引用未绑定的开放泛型类型
如果是在非泛型上下文里,要引用Expression<List<T>>这种开放泛型(未指定具体类型参数的泛型),需要用反引号+数字的占位符来表示泛型参数的位置,写法如下:
<see cref="Expression{List{`0}}" />
这里的 0代表第一个未绑定的泛型参数,要是有多个参数,依次用 1、 2`来表示。
补充:引用封闭泛型类型
如果要引用具体的封闭泛型(比如Expression<List<int>>),直接把具体类型写进去即可:
<see cref="Expression{List{Int32}}" />
内容的提问来源于stack exchange,提问作者Martin Brown
相关产品推荐
相关产品推荐

