c# - 为什么我们要指定 System.Reflection.Missing.Value?

标签 c# sql excel

xlWorkBook.SaveAs("C:\examples\employee.xls", Excel.XlFileFormat.xlWorkbookNormal, misValue, misValue, misValue, misValue, Excel.XlSaveAsAccessMode.xlExclusive, misValue, misValue, misValue, misValue, misValue);

在上面的关系中,为什么我们写的大部分是错误值。
请解释,
提前致谢

最佳答案

您正在使用 COM 互操作调用 COM 组件 (Excel)。 COM 是一个与 .Net 完全不同(且较旧)的框架。为了帮助您调用 COM 组件,.Net 创建了一个 Runtime Callable Wrapper (RCW),它是一个代理类,允许您使用托管 C# 代码调用 COM。但是可选参数的 C# 和 COM 实现彼此不兼容 - C# 编译器不知道如何将默认 C# 参数映射到默认 COM 参数。因此,对于默认的 COM 参数,我们必须显式地给它们 System.Reflection.Missing.Value。

关于c# - 为什么我们要指定 System.Reflection.Missing.Value?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60651210/

相关文章:

c# - 阻止从同一用户 ID 到 Web 方法的多个请求 C#

c# - 解码 XML 时 base64 字符串中的无效字符

c# - 在 Windows 窗体程序为 "processing"时显示微调器,类似于 ajaxStart/ajaxStop?

mysql - 从表中删除重复项

excel - VBA 启用编辑

c# - Xamarin Android App 导致设备重启

sql - 我应该索引已经是复合索引一部分的个别列吗?

php - 修复准备好的声明

python - BS4 收集要列出的行

excel - Displaytag Export Excel 不导出所有行