为什么不能通过后期绑定访问来自不同DLL的枚举?

问题描述 投票:0回答:1

我试图找出如何使用C#通过COM互操作性访问Excel的枚举。

使用早期绑定很简单,但是使用晚期绑定,我只发现我可以访问same file中的枚举。

如果枚举位于不同的DLL中,则它们为can't be accessed。因此,我use the integer values或创建了自己的枚举。

真的不可能通过后期绑定访问它们吗?如果是这样,为什么?我希望早期绑定是IDE或类似的东西使后期绑定代码变得容易。

c# .net dll enums late-binding
1个回答
0
投票

如果枚举位于不同的DLL中,则无法访问它们。所以我要么使用整数值,要么创建自己的枚举。

根据定义,不可能通过late-binding访问预定义的enum。显然,它们将在.NET中显示为“ integers”

真的不可能通过后期绑定访问它们吗?如果是这样,为什么?我希望早期绑定是IDE或类似的东西使后期绑定代码变得容易。

Early-binding

使用COM类型库或COM Interop库。通过提供C#或VB.NET熟悉的类型,这些本质上是围绕COM类型的.NET包装。有了它,您就可以以语句完成的形式获得智能。参数帮助;和方法帮助。编译器将帮助您解决编译时可能犯的任何错误。只有存在类型库或COM互操作库时,早期绑定才有效。

Late-binding

不会以智能感知的形式提供任何帮助。没有任何可用对象的指示。存在哪些方法;也不传递什么参数。您的代码可能会编译,但是您仍然会遇到运行时错误。后期绑定不使用也不要求类型库或COM互操作库。
最新问题
© www.soinside.com 2019 - 2024. All rights reserved.