在我的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服务器本身代码的情况下解决歧义?
谢谢你的帮助。
最佳答案
您应该能够转换为生成的包含接口;
if (((MCS._clsController)fwb.Controller).ModuleLoaded == false) {