VB6 COM服务器中属性和事件之间的歧义

4
在我的c#项目中,我引用了一个用vb6编写的旧的com服务器。当试图访问一个名为“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个回答

4
你应该能够将其转换为生成的包含接口;
if (((MCS._clsController)fwb.Controller).ModuleLoaded == false) {

2
感谢您的帮助 - "((MCS._clsController)fwb.Controller).ModuleLoaded"解决了问题! - Bernd L.

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接