如何:自定义运行时可调用包装
自定义运行时可调用包装 (RCW) 的方法有两种。 如果可以修改接口定义语言 (IDL) 源,就可以应用类型库文件 (TLB) 特性并导入类型库。 或者,您可以将互用特定特性应用于导入的类型并生成新的程序集。 是否支持自定义标准的 RCW 将受到这些特性的限制。
修改 IDL 源
将 TLB 特性应用于库、类型、成员和参数。 使用 custom 关键字和特性值来更改元数据。 通过应用 TLB 特性,您可以:
指定导入的 COM 类型的托管名称,而不是允许导入实用工具根据标准转换规则来选择名称。
显式地定义类型在 COM 库中的目标命名空间。
编译 IDL 源代码。
从所得类型库文件或从动态链接库文件 (DLL) 中生成一个程序集,其中包含要实现的类型。
修改导入的程序集
导入类型库文件。 使用类型库导入程序 (Tlbimp.exe) 可生成程序集 DLL。
使用 MSIL 反汇编程序 (Ildasm.exe) 从导入的程序集中创建一个文本文件。
将 Interop 特性应用于该文本文件。
使用 MSIL 汇编程序 (Ilasm.exe) 从已修改的文本文件中生成新的程序集。