vb6 com服务器中属性和事件之间的歧义

时间:2013-06-05 12:19:35

标签: c# com vb6 ambiguity

在我的c#项目中,我正在引用一个用vb6编写的旧的com服务器。当tyring访问属性“ModuleLoaded”(意思是“IsModuleLoaded”)时,我得到一个歧义警告,因为服务器还定义了一个具有相同名称的事件。我的代码如下所示:

if (fwb.Controller.ModuleLoaded == false) {
  fwb.Controller.LoadModule();
}

Visual Studio告诉我:

Error: Ambiguity between "MCS._clsController.ModuleLoaded" and
"MCS.__clsController_Event.ModuleLoaded".

如何在不更改com服务器本身的代码的情况下解决歧义?

感谢您的帮助。

1 个答案:

答案 0 :(得分:3)

您应该能够转换为生成的包含界面;

if (((MCS._clsController)fwb.Controller).ModuleLoaded == false) {