2013-06-05 8 views
3

В моем проекте C# я ссылаюсь на старый COM-сервер, написанный на vb6. Когда tyring для доступа к свойству «ModuleLoaded» (что означает «IsModuleLoaded»), я получаю предупреждение о неоднозначности, потому что сервер также определяет событие с тем же именем. Мой код выглядит следующим образом:Неоднозначность между свойством и событием на сервере vb6 com

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

Visual Studio говорит мне это:

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

Как я могу разрешить неоднозначность без изменения кода в самом ком сервере?

Благодарим за помощь.

ответ

3

Вы должны иметь возможность передавать на сгенерированный содержащий интерфейс;

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

Спасибо за вашу помощь - "((MCS._clsController) fwb.Controller) .ModuleLoaded" сделал трюк! –