评论泛型 - 是否可以将泛型类型参数称为T而不是它的实际类型?

时间:2015-01-16 20:44:40

标签: c# visual-studio generics comments

给出这样的方法:

/// <summary>
/// Given a <see cref="T1"/>, return a <see cref="T2"/>.
/// </summary>
public T2 ExampleMethod(T1 t1)
{
   // omitted
}

如果T1是int且T2是string,我可以写一个注释,以便Visual Studio正确显示它吗?或者,我是否坚持在评论中出现T1和T2?

不同地说:我可以做些什么,以便在Visual Studio中,此方法的工具提示显示实际的类型名称?

编辑:我似乎没有解释我真正感兴趣的是什么。

假设我有一个名为Widget<T1,T2>的类。假设我有一个像上面那样的方法。

然后,当我做

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可以做同样的事情并在评论中支持这个。

我的直觉不是,但问题就是这样。

1 个答案:

答案 0 :(得分:1)

为了补充@Martin Mulder的答案以及对此问题的一些意见,我已向Visual Studio开发人员社区提交了问题报告,以解决此“问题”作为功能请求。我基本上要求Intellisense悬停在用泛型代替特定类型的语句时,在注释中使用<typeparamref name=""/>标签时在注释中显示特定类型。我不确定在使用<see cref=""/>时是否应该这样做,但是如果您愿意,可以随时在问题报告中添加评论以要求将其包含在修复程序中!

Substitute Generics For Actual Type In Intellisense For XML Comments