【发布时间】:2015-01-01 14:07:53
【问题描述】:
我正在访问一个 COM 对象,一个方法返回一个动态变量。我没有实现返回动态变量的方法,我需要将其转换为适当的类型,以便我可以在我的类中使用它。
所以我想知道是否有办法在运行时找到动态变量的底层类型。
动态变量是从 COM 函数返回的值,因此 UnWrap 不起作用,GetType() 返回 COMObject 类型。
谢谢
【问题讨论】:
-
为什么需要投射它?只需将您的方法的参数设置为您通常将其转换为的类型并将其传入即可。运行时将负责其余的工作。
-
帮助您发现对象类型的一个好方法是使用您的调试器。在方法调用后的行上放置一个断点,并使用 Watch 窗口检查返回的对象。
-
换一种说法,假设您拥有的
dynamic引用已经是您需要的类型,并相应地编写您的代码。如果您向我们展示一些代码,将更容易说明我的意思。