System.Type.Missing или System.Reflection.Missing.Value при работе с Office PIA? - PullRequest
17 голосов
/ 16 июля 2010

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

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

System.Type.Missing или Missing.Value?

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

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

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

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

1 Ответ

19 голосов
/ 16 июля 2010

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

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

...