将接口IDL文件转换为C#

Jon*_*ury 22 c# interop idl interface

我有一个IDL文件中定义的接口,我想在C#中使用.有没有办法将IDL转换为C#中可用的东西?

Vin*_*jip 30

一种方法是MIDL在IDL 上运行以创建类型库(.tlb).这需要libraryIDL中的块.一旦你有了.tlb,你就可以运行tlbimp.exe它来获得一个C#定义/ Interop DLL.


Dev*_*ult 6

IDL 中使用了哪些数据类型/结构?如果已经没有内置类型,您应该首先在 C# 中定义数据类型。

您可以使用以下工具来转换结构,但您需要手动验证输出。

下载:http : //download.microsoft.com/download/f/2/7/f279e71e-efb0-4155-873d-5554a0608523/CLRInsideOut2008_01.exe

此实用程序在访问 P/Invoke 的 Windows API 常量和结构中进行了描述。

2008 年 1 月的原始文章现在仅作为.CHM 帮助文件下载提供,链接在https://msdn.microsoft.com/magazine/msdn-magazine-issues底部。目前,可以在http://clrinterop.codeplex.com/上找到源代码。