COM 模型不支持泛型类型的概念。 因此,泛型类型不能直接用于 COM 互操作。
下列不受支持的操作将失败,并显示 E_NOINTERFACE 错误:
从 COM 访问泛型接口。
访问从泛型类派生的非泛型类的类接口。
为泛型类生成类接口。 例如,不能为 MyGenericType<T> 类生成 _MyGenericType 接口。
您可以使用非泛型基接口间接访问泛型类。 例如,考虑以下类型:
[C#]
class MyClass <T> : IMyClass, IEnumerable<int>
{
…
}
COM 客户端可以使用 IMyClass 接口调用此类型的实例,但调用 _MyClass、_MyClass <T> 或 IEnumerable<T> 将失败。