首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在C#中使用TLB (和tlbimp.exe)的缺点

在C#中使用TLB (和tlbimp.exe)的缺点
EN

Stack Overflow用户
提问于 2012-05-01 23:09:17
回答 2查看 820关注 0票数 1

我们正在将一家通信公司的软件集成到我们自己的软件中,用于接听电话、转接电话、与客户匹配号码等。

他们给了我们API文档,其中包括一个TLB文件。我们已经使用tlbimp工具创建了一个程序集,现在我们希望在实现中使用它。

tlbimp创建的一些类被赋予了内部构造函数,使得它们无法实例化。我认为在这个实例中应该没问题,因为另一个类应该返回这些类的一个实例。

这让我思考:在使用tlbimp.exe和TLB作为一个整体时,有没有其他我应该注意的陷阱?手动创建DllImport/ComImport/PInvoke代码会更好吗?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2012-05-01 23:13:16

一般来说,如果你有一个TLB,我至少会从使用tlbimp生成的程序集开始我的工作。

该工具本身被广泛使用,并根据TLB中提供的定义生成正确的代码。我见过一些情况,结果代码是不正确的,但它几乎总是返回到非常复杂的数组编组情况,或者TLB作者只是添加了错误的COM注释。

如果您确实发现了任何问题,那么您应该考虑开始手动编写修复代码。但我肯定不会这样开始。

票数 2
EN

Stack Overflow用户

发布于 2012-05-02 01:56:47

不能调用在类型库中声明的那种COM接口方法。实现COM服务器的DLL不会导出这些方法。您可以将后期绑定与反射或dynamic关键字一起使用,但这样做既痛苦又容易出错。使用导入库,这就是它存在的原因。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/10399695

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档