Interoperar utilizando tipos genéricos
El modelo COM no admite el concepto de tipos genéricos. Por consiguiente, los tipos genéricos no se pueden utilizar directamente para la interoperabilidad COM.
Acciones no compatibles
No se admiten las acciones siguientes y se producirá un error E_NOINTERFACE:
Tener acceso a las interfaces genéricas de COM.
Tener acceso a las interfaces de clase para clases nongeneric que se derivan de clases genéricas.
Generar interfaces de clase para clases genéricas. Por ejemplo, la interfaz _MyGenericType no se puede generar para la clase MyGenericType<T>.
Acciones compatibles
Es posible tener acceso a una clase genérica de forma indirecta utilizando una interfaz base nongeneric. Por ejemplo, veamos el siguiente tipo:
[C#]
class MyClass <T> : IMyClass, IEnumerable<int>
{
…
}
Los clientes COM pueden realizar llamadas a instancias de este tipo utilizando la interfaz IMyClass, pero se producirá un error si se realizan llamadas a _MyClass, _MyClass <T> o IEnumerable<T>.
Vea también
Referencia
Genéricos (Guía de programación de C#)