在为第三方应用程序创建插件时,我遇到了一个问题,即应用程序创建者提供的类型库不包含插件可用的所有方法。
如果我使用VisualBasic并且没有设置Option Strict On ,基本上一切正常。一旦我将其设置为“开”,我就会收到错误,即后期绑定不适用于 Strict On。
现在我真的很想将此代码移植到 C#,但我不知道如何让这些方法工作。
插件系统以我的插件获取应用程序对象的方式工作,后来我只是调用:
Application.IntermediateObject.InterestingMethod(Variable)
- 这在没有“Strict On”的情况下在 VB 中工作正常
在 C# 中,这甚至不编译,因为IntermediateObject不包含“InterestingMethod”的定义(我也可以通过使用 Windows SDK COM 对象浏览器看到)。到目前为止,我最好的猜测是我应该能够通过以下方式实现它:
IntermediateObject.GetType().GetMethod("InterestingMethod");
但结果只是“空”。
我在这里做错了吗?或者这是一个死胡同,我必须坚持使用 VB?
PS:我无权让应用程序创建者修复他们的类型库,所以这不是一个选项。