visual update studio primary office o2010pia namespace msi microsoft c# .net interop system.type

c# - update - System.Type.Missing o System.Reflection.Missing.Value cuando se trabaja con Office PIA?



o2010pia msi download (1)

Busqué en estos resultados y no pude encontrar nada relacionado con mi pregunta. Dudo que esto pueda ser un duplicado.

Actualmente estoy escribiendo un contenedor de PIA de Microsoft.Office.Interop.Excel en .NET C # 3.5 y me preguntaba qué es lo mejor para usar al llamar a métodos como abrir un libro de trabajo determinado.

System.Type.Missing o Missing.Value ?

He realizado algunas búsquedas en Google y no puedo encontrar ninguna diferencia, excepto que una es del espacio de nombres del System ( System.Type.Missing ), y la otra ( Missing.Value ) proviene del System.Reflection nombres de System.Reflection .

  1. ¿Cuál es la diferencia principal, si la hay, entre ambos?
  2. ¿Bajo qué circunstancias es mejor usar uno que el otro?
  3. ¿Por qué esto es tan?

Parece que ambos se utilizan cuando desea pasar el valor predeterminado de un parámetro al ensamblado de interoperabilidad ...

¡Gracias por tus respuestas! =)


Ellos son lo mismo. En el inicializador estático de Type , el campo Missing se establece en System.Reflection.Missing.Value .

En cuanto a por qué hay dos maneras de obtener el mismo valor: quién sabe. Es bastante probable que se Type.Missing un remanente de compatibilidad con versiones anteriores, ya que Type.Missing se escribe como object , mientras que Missing.Value se escribe Missing .