我在 Visual Studio 的即时窗口中。有一个变量 p
。我如何推断变量 p
的类型?
我尝试了 p.GetType()
但它返回了 object p
的类型。在我的例子中,这是一个非常特殊的类型(例如,有时是 ChessPlayer
,有时是 TennisPlayer
)。我想知道变量的类型,即。确定变量 p
上可用的方法的类型。
编辑:我认为这是一件很合理的事情。我正在尝试检查变量 p
但我不知道它是什么!通常在 Visual Studio 中,我只需将鼠标悬停在变量上,它就会告诉我它的类型,或者我键入 .
,自动完成会列出它的方法。然而,在即时窗口中这些都不起作用,我只有这个变量 p
我不知道它是什么或者我能用它做什么 :(
最佳答案
没想到这么难,最后我写了这个方法,似乎给出了正确的答案。
public static class Extensions
{
public static Type GetVariableType<T>(this T instance)
{
return typeof(T);
}
}
示例用法:
void Main()
{
IList x = new List<int>{};
x.GetVariableType().Dump();
}
打印 System.Collections.IList
关于c# - 如何确定变量的类型? (不是对象的类型),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13491903/