我有这个警告:
警告3方法'Microsoft.Office.Interop.Word._Application.Quit(ref object,ref object,ref object)'和非方法'Microsoft.Office.Interop.Word.ApplicationEvents4_Event.Quit'之间存在歧义。使用方法组。
在我的行上
wordApplication.Quit();
我尝试将其替换为:
wordApplication.Quit(false); // don't save changes
和
wordApplication.Quit(false, null, null); // no save, no format
但它一直给我这个警告。这不是一个大问题,因为代码完美编译并按预期运行,但我想摆脱警告。我该怎么办?
答案 0 :(得分:72)
明确地将引用转换为类型_Application
:
((_Application)wordApplication).Quit();
答案 1 :(得分:0)
如果您希望更改退出Microsoft.Office.Interop.Word._Application.Quit
以删除消息,或者(未亲自尝试过)使用using
语句,则可以在包含的命名空间中使用两种退出方法。 / p>
答案 2 :(得分:0)
我用过这个
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();
答案 3 :(得分:0)
我认为您需要定义要退出的参数类型。我使用以下内容,这似乎有用。
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;