【发布时间】:2012-11-21 11:05:43
【问题描述】:
我在 Visual Studio 的即时窗口中。有一个变量p。如何推断变量p的类型?
我尝试了p.GetType(),但它返回了 object p 的类型。就我而言,这是一种非常特殊的类型(例如,有时是ChessPlayer,有时是TennisPlayer)。我想知道变量的类型,即。确定变量 p 上可用方法的类型。
编辑:我认为这是一件合理的事情。我正在尝试检查变量p,但我不知道它是!通常在 Visual Studio 中,我只需将鼠标悬停在变量上,它就会告诉我它的类型,或者我输入 .,自动完成会列出它的方法。但是这些在即时窗口中都不起作用,我只有这个变量p 我不知道它是什么或者我能用它做什么:(
【问题讨论】:
-
你试过
p.GetType().GetMethods()吗?p.GetType().GetInterfaces()? -
虽然我很好奇是否有办法做到这一点,但如果没有,我不会感到惊讶。如果您在带有
p句柄的调试器中,您可以查看代码中p的声明,从而查看它的“变量”类型是什么。 -
澄清一下,在执行
BoardGamePlayer p = new ChessPlayer();时,您想要的是一种知道p被声明为BoardGamePlayer的方法? -
为了满足我的好奇心,你为什么想要那个?根据定义,您正在寻找的信息在编译时是已知的。尝试动态检索它有什么意义?无论您真正想要做什么,都可能有更简单的方法。
标签: c# .net visual-studio immediate-window