我试图找出如何使用C#通过COM互操作性访问Excel的枚举。
使用早期绑定很简单,但是使用晚期绑定,我只发现我可以访问same file中的枚举。
如果枚举位于不同的DLL中,则它们为can't be accessed。因此,我use the integer values或创建了自己的枚举。
真的不可能通过后期绑定访问它们吗?如果是这样,为什么?我希望早期绑定是IDE或类似的东西使后期绑定代码变得容易。
如果枚举位于不同的DLL中,则无法访问它们。所以我要么使用整数值,要么创建自己的枚举。
根据定义,不可能通过late-binding访问预定义的enum
。显然,它们将在.NET中显示为“ integers”。
使用COM类型库或COM Interop库。通过提供C#或VB.NET熟悉的类型,这些本质上是围绕COM类型的.NET包装。有了它,您就可以以语句完成的形式获得智能。参数帮助;和方法帮助。编译器将帮助您解决编译时可能犯的任何错误。只有存在类型库或COM互操作库时,早期绑定才有效。真的不可能通过后期绑定访问它们吗?如果是这样,为什么?我希望早期绑定是IDE或类似的东西使后期绑定代码变得容易。
Early-binding
Late-binding
不会以智能感知的形式提供任何帮助。没有任何可用对象的指示。存在哪些方法;也不传递什么参数。您的代码可能会编译,但是您仍然会遇到运行时错误。后期绑定不使用也不要求类型库或COM互操作库。