日期:2014-05-17  浏览次数:20981 次

为什么C#定义com组件的时候,不需要一个idl文件?
VC的ATL/MFC实现一个com组件的时候是需要创建一个idl描述文件的。
但是我发现C#的项目如果要创建一个com组件似乎不需要涉及到idl文件。这是为什么呢?

------解决方案--------------------
因为.NET的方法、对象的元数据都包含在可执行程序中了。
换言之,你可以直接通过一个dll本身知道它有什么类型,什么函数,函数的参数是什么,类型有什么字段。
而原生dll代码没有这样的功能。