使用Office PIA时System.Type.Missing或System.Reflection.Missing.Value?

Wil*_*ler 17 .net c# interop system.type

我搜索了这些SO结果,找不到与我的问题有关的任何内容.我怀疑这可能是重复的.

我目前正在.NET C#3.5中编写一个Microsoft.Office.Interop.Excel PIA包装器,并且想知道在调用打开给定工作簿等方法时最好使用什么.

System.Type.Missing还是Missing.Value

我已经执行了一些Google搜索,但找不到任何区别,除了一个来自System命名空间(System.Type.Missing),另一个(Missing.Value)来自System.Reflection命名空间.

  1. 两者之间的主要区别是什么?
  2. 在哪种情况下最好使用另一种?
  3. 为什么会这样?

当你想将参数的默认值传递给互操作程序集时,似乎都使用了这两个...

谢谢你的回答!=)

Rub*_*ben 19

他们是一样的.在静态初始值设定项中Type,字段Missing设置为System.Reflection.Missing.Value.

至于为什么有两种方法可以获得相同的价值:谁知道.很可能这是一个向后兼容的残余,就像Type.Missing打字一样object,而是Missing.Value打字的Missing.

  • 只剩下接受你的答案了!=)谢谢!=) (2认同)