Как устранить предупреждение о двусмысленности?



у меня есть это предупреждение:




предупреждение 3 неоднозначность между методом ' Microsoft.Офис.Взаимодействие.Слово._Приложение.Выход(ref объект, объект Реф, Реф объекта) и не способ 'Майкрософт.Офис.Взаимодействие.Слово.ApplicationEvents4_Event.Бросить'. Использование группы методов.




на мой строки



wordApplication.Quit();


Я попытался заменить его на:



wordApplication.Quit(false); // don't save changes


и



wordApplication.Quit(false, null, null); // no save, no format


но он продолжает давать мне это предупреждение. Это не огромная проблема потому что код компилируется и прекрасно работает как ожидалось, но я хотел бы избавиться от предупреждения. Что я могу сделать?

585   4  

4 ответов:

явно приведите ссылку на тип _Application:

((_Application)wordApplication).Quit(); 

Он говорит, что в включенном пространстве имен есть два метода выхода, которые вы можете, если хотите изменить quit на Microsoft.Office.Interop.Word._Application.Quit чтобы удалить сообщение или (лично не пробовал) использовать using заявление.

я использовал этот

   object oMissing = System.Reflection.Missing.Value;
   ((Microsoft.Office.Interop.Word._Application)wordApp).Quit(ref oMissing, ref oMissing, ref oMissing);
               wordApp = null;
               GC.Collect();
               GC.WaitForPendingFinalizers();

Я считаю,что вам нужно определить тип параметров для выхода. Я использую следующее, что, кажется, работает.

using Microsoft.Office.Interop.Word;
...
Application wordApplication = new Application();
...
    object paramMissing = Type.Missing;
    object saveOptionsObject = Microsoft.Office.Interop.Word.WdSaveOptions.wdDoNotSaveChanges;
        wordApplication.Quit(ref saveOptionsObject, ref paramMissing, ref paramMissing);
        wordApplication = null;

Comments

    Ничего не найдено.