.net的程序都是托管的,COM是非托管的,是不是说明,c#不能用于写COM控件?
最近学习COM,很困惑

解决方案 »

  1.   

    可以,这是 .NET 互操作技术中的一个重要方面。通过将 C# 中的类型或方法声明为 ComVisible,可以为它们自动实现标准的 COM 接口,这个背后的工作是由 CCW 完成的。但是你的 COM 客户端要使用这个 COM 组件,仍然需要安装 .NET CLR。如果你是在“学习”COM 或者开发一个专业的 COM 组件,那么你最好使用 C++/MFC/ATL;
    如果你只是临时应急写一个 COM 组件,或者将一个已有的 .NET 组件改为 COM 组件,且不考虑性能问题,那么就用 C#。