0

我无法弄清楚这段代码是怎么回事。"command" = Park, 接口中存在 Park 方法。然而,“方法”只是等于 null,所以当我点击调用时它会引发异常。调试器启动,因此我能够确保一切正常。为什么方法没有设置?

范围对象已定义。它是一个 com 对象。我扩展了范围对象的动态视图,它显示的只是属性或其他东西(蓝色 3d 框,不是手和纸),没有方法。那是问题吗?但是为什么,因为我指的是 ITelescope 并且在我尝试调用未设置的方法之前不对范围做任何事情。

我从这个问题中得到了激活码。

ITelescope scope = (ITelescope)Activator.CreateInstance(Type.GetTypeFromProgID(scopeProgID));
var method = typeof(ITelescope).GetMethod(command);
method.Invoke( scope, new object[0]{ } );
4

1 回答 1

0

我记得我曾问过另一个关于接口和反射的问题。该问题与互操作类型有关。要修复它,请右键单击项目引用列表中的违规引用,单击属性,然后将“嵌入互操作类型”设置为 false。

于 2012-10-06T16:17:30.983 回答