Подтвердить что ты не робот

System.Type.Missing или System.Reflection.Missing.Value при работе с Office PIA?

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

В настоящее время я пишу обертку Microsoft.Office.Interop.Excel PIA в .NET С# 3.5 и задавался вопросом, что лучше всего использовать при вызове методов, таких как открытие данной книги.

System.Type.Missing или Missing.Value

Я выполнил несколько поисков Google и не могу найти никакой разницы, за исключением того, что он из пространства имен System (System.Type.Missing), а другой (Missing.Value) происходит из System.Reflection namespace.

  • В чем основное отличие, если оно есть, между обоими?
  • В каких условиях лучше всего использовать другой?
  • Почему это так?

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

Спасибо за ваши ответы! =)

4b9b3361

Ответ 1

Они одинаковы. В статическом инициализаторе Type для поля Missing установлено значение System.Reflection.Missing.Value.

Что касается того, почему есть два способа получить одно и то же значение: кто знает. Весьма вероятно, что это остатки обратной совместимости, поскольку Type.Missing набирается как object, тогда как Missing.Value набирается Missing.