C#调用C++ DLL 参数传递时:无法封送处理泛型类型

分类:.Net知识问答| 发布:camnprbubuol| 查看: | 发表时间:2011/9/28

COM 模型不支持泛型类型的概念。 因此,泛型类型不能直接用于 COM 互操作。

下列不受支持的操作将失败,并显示 E_NOINTERFACE 错误:

  • 从 COM 访问泛型接口。

  • 访问从泛型类派生的非泛型类的类接口。

  • 为泛型类生成类接口。 例如,不能为 MyGenericType<T> 类生成 _MyGenericType 接口。



您可以使用非泛型基接口间接访问泛型类。 例如,考虑以下类型:

[C#]

 
class MyClass <T> : IMyClass, IEnumerable<int>
{

}

COM 客户端可以使用 IMyClass 接口调用此类型的实例,但调用 _MyClass、_MyClass <T> 或 IEnumerable<T> 将失败。


来源:http://msdn.microsoft.com/zh-cn/library/ms229590.aspx
365据说看到好文章不转的人,服务器容易宕机
原创文章如转载,请注明:转载自郑州网建-前端开发 http://camnpr.com/
本文链接:http://camnpr.com/net-wiki/443.html