c# visual-studio-2010 warnings compiler-warnings office-interop

c# - ¿Cómo eliminar la advertencia sobre la ambigüedad?



visual-studio-2010 warnings (4)

Tengo esta advertencia:

Advertencia 3 Ambigüedad entre el método ''Microsoft.Office.Interop.Word._Application.Quit (objeto ref, objeto ref, objeto ref)'' y no método ''Microsoft.Office.Interop.Word.ApplicationEvents4_Event.Quit''. Usando el grupo de métodos.

en mi linea

wordApplication.Quit();

He intentado reemplazarlo con:

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

y

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

pero sigue dándome esta advertencia. No es un gran problema porque el código se compila perfectamente y funciona como se esperaba, pero me gustaría deshacerme de las advertencias. ¿Que puedo hacer?


Creo que debes definir el tipo de parámetros para salir. Uso lo siguiente, que parece funcionar.

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;


Se dice que hay dos métodos para dejar de fumar en el espacio de nombres incluido que puede, si le gusta el cambio, deje Microsoft.Office.Interop.Word._Application.Quit para eliminar el mensaje o (no lo ha intentado personalmente) use una instrucción using .


Usé esto

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();


_Application explícitamente la referencia al tipo _Application :

((_Application)wordApplication).Quit();