VSTO: Неоднозначность между методами


person Jack    schedule 16.06.2011    source источник
comment
Какое надоедливое предупреждение? Это не упоминается в вашем вопросе или предупреждение на самом деле является двусмысленностью между методами? Однако в целом вы не ссылаетесь и не используете _Document, _Application или действительно _Anything в VSTO или IExtensibility. Используйте простой старый документ, приложение или любые другие объекты.   -  person DarinH    schedule 17.06.2011
comment
Надоедливое предупреждение находится в Visual Studio2010, где я хочу закрыть документ и вызвать метод .Close(). Появится волнистая линия и выдаст предупреждение о неоднозначности. Я использую старый добрый документ и приложение, но из решения, которое я нашел. Кажется, люди могут использовать _Document и _Application, чтобы избавиться от предупреждения о неоднозначности. редактировать: использование документа и приложения вызывает проблему неоднозначности.   -  person Jack    schedule 18.06.2011
comment
Можете ли вы отобразить точные строки кода, которые генерируют надоедливое предупреждение? Я пытаюсь воспроизвести это в Word, но пока ничего не надоедало.   -  person Mathias    schedule 21.06.2011
comment
У вас есть доступ к Document, но не к _Document? Если вы правильно используете interop.word, у вас может быть _Document.   -  person Guillaume V    schedule 13.09.2011


Ответы (1)


Word не моя область, но обычно это сообщение появляется, когда интерфейс (Word) реализует два интерфейса, каждый из которых имеет одинаково вызываемый метод. Чтобы избежать появления предупреждения, вам нужно выполнить приведение именно к интересующему вас нижележащему интерфейсу.
Существует иллюстрация с Worksheet.Activate() (эквивалентная проблема в Excel) здесь.

person Mathias    schedule 18.06.2011
comment
Проблема в том, что нет Word._Document. Документ реализует два интерфейса, у которых есть метод close. - person Jack; 20.06.2011