评论泛型——是否可以将泛型类型参数引用为它的实际类型而不是 T?
Commenting Generics - Is it possible to refer to generic type parameter not as T but as its actual type?
给出这样的方法:
/// <summary>
/// Given a <see cref="T1"/>, return a <see cref="T2"/>.
/// </summary>
public T2 ExampleMethod(T1 t1)
{
// omitted
}
我可以写一个注释,使 Visual Studio 能够正确显示它吗?例如,如果 T1 是 int
并且 T2 是 string
?或者,我是否坚持在评论中出现 T1 和 T2?
换句话说:有什么我可以做的,以便在 Visual Studio 中,此方法的工具提示显示实际的类型名称?
编辑: 我似乎没有解释我真正想知道的东西。
假设我有一个名为 Widget<T1,T2>
的 class。假设我有一个像上面那样的方法。
然后,当我这样做时
Widget<int,string> myExample = new Widget<int,string>();
myExample.ExampleMethod(... ); // HERE - if I mouse over the method
// I get a tooltip. Is there something I can do to the comment in my
// example method above that will allow me to say
// "Given a System.Int32, return a System.String"?
编辑2:刚才有人在这里发表评论,但他们的评论被删除了。他们建议我使用
///Given a <see cref="T1"/>, return a <see cref="T2"/>.
这就是我现在使用的。这可以。我的问题,现在第三次用不同的措辞表达,Visual Studio 是否足够聪明,可以从构造函数中推断出 T1 和 T2 是什么? 我可以从方法签名中找出T1和T2是什么,我想也许Visual Studio可以做同样的事情并在评论中支持这一点。
我的直觉是否定的,所以才提出这个问题。
不,Visual Studio 不支持。您应该问问自己为什么要在评论中使用特定类型。
一个好的方法文档是通过用非技术术语描述它的功能来完成的。并通过使用清晰的名称和对该参数的预期内容的良好描述来描述其参数。几乎不需要这种类型。如果您确实需要它,您可能正在尝试以技术方式记录您的方法,这几乎不是一个好主意。
为了补充@Martin Mulder 的回答以及对这个问题的一些评论,我已经向 Visual Studio 开发者社区提交了一份问题报告,以作为功能请求修复此 "issue" .我基本上已经要求 Intellisense,当鼠标悬停在用泛型代替特定类型的语句上时,在注释中使用 <typeparamref name=""/>
标记时在注释中显示特定类型。我不确定在使用 <see cref=""/>
时这样做是否合适,但如果您觉得合适,请随时向问题报告添加评论以请求将其包含在修复中!
Substitute Generics For Actual Type In Intellisense For XML Comments
给出这样的方法:
/// <summary>
/// Given a <see cref="T1"/>, return a <see cref="T2"/>.
/// </summary>
public T2 ExampleMethod(T1 t1)
{
// omitted
}
我可以写一个注释,使 Visual Studio 能够正确显示它吗?例如,如果 T1 是 int
并且 T2 是 string
?或者,我是否坚持在评论中出现 T1 和 T2?
换句话说:有什么我可以做的,以便在 Visual Studio 中,此方法的工具提示显示实际的类型名称?
编辑: 我似乎没有解释我真正想知道的东西。
假设我有一个名为 Widget<T1,T2>
的 class。假设我有一个像上面那样的方法。
然后,当我这样做时
Widget<int,string> myExample = new Widget<int,string>();
myExample.ExampleMethod(... ); // HERE - if I mouse over the method
// I get a tooltip. Is there something I can do to the comment in my
// example method above that will allow me to say
// "Given a System.Int32, return a System.String"?
编辑2:刚才有人在这里发表评论,但他们的评论被删除了。他们建议我使用
///Given a <see cref="T1"/>, return a <see cref="T2"/>.
这就是我现在使用的。这可以。我的问题,现在第三次用不同的措辞表达,Visual Studio 是否足够聪明,可以从构造函数中推断出 T1 和 T2 是什么? 我可以从方法签名中找出T1和T2是什么,我想也许Visual Studio可以做同样的事情并在评论中支持这一点。
我的直觉是否定的,所以才提出这个问题。
不,Visual Studio 不支持。您应该问问自己为什么要在评论中使用特定类型。
一个好的方法文档是通过用非技术术语描述它的功能来完成的。并通过使用清晰的名称和对该参数的预期内容的良好描述来描述其参数。几乎不需要这种类型。如果您确实需要它,您可能正在尝试以技术方式记录您的方法,这几乎不是一个好主意。
为了补充@Martin Mulder 的回答以及对这个问题的一些评论,我已经向 Visual Studio 开发者社区提交了一份问题报告,以作为功能请求修复此 "issue" .我基本上已经要求 Intellisense,当鼠标悬停在用泛型代替特定类型的语句上时,在注释中使用 <typeparamref name=""/>
标记时在注释中显示特定类型。我不确定在使用 <see cref=""/>
时这样做是否合适,但如果您觉得合适,请随时向问题报告添加评论以请求将其包含在修复中!
Substitute Generics For Actual Type In Intellisense For XML Comments