【发布时间】:2023-03-29 21:50:01
【问题描述】:
给定这样的方法:
/// <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 可以做同样的事情并在评论中支持这一点。
我的直觉是不,但因此是问题。
【问题讨论】:
-
既然已经知道类型,为什么还要使用泛型?
-
@ZachSpencer 假设我想为各种类型使用泛型类。我只是想知道是否有办法让 Visual Studio 正确替换 cmets 中的类型名称。
-
现在确实更有意义了
-
我认为您的意思是 cmets 是为了对此类的类型化实例的成员进行智能感知?我不这么认为,否则 .NET 框架类会实现它。就其价值而言,这似乎是一个极好的功能请求。
-
我不相信今天的 VS 可以做到这一点,但这似乎是一个极好的功能请求。我认为您不需要对 XML cmets 本身做任何事情。 IDE 应该在显示的工具提示中简单地推断出适当的类型名称,就像它现在对方法参数和返回类型所做的一样。您可以考虑在 Microsoft Connect 网站上将其作为实际功能请求提交。
标签: c# visual-studio generics comments