Interoperabilità tramite tipi generici
Il modello COM non supporta il concetto di tipi generici. Di conseguenza, non è possibile utilizzare direttamente i tipi generici per l'interoperabilità COM.
Azioni non supportate
Le azioni illustrate di seguito non sono supportate e avranno esito negativo, generando un errore E_NOINTERFACE:
Accesso alle interfacce generiche da COM.
Accesso alle interfacce di classe per classi non generiche che derivano da classi generiche.
Generazione di interfacce di classe per classi generiche. Non è possibile, ad esempio, generare l'interfaccia _MyGenericType per la classe MyGenericType<T>.
Azioni supportate
È possibile accedere indirettamente a una classe generica utilizzando un'interfaccia di base non generica. Si consideri ad esempio il tipo seguente:
[C#]
class MyClass <T> : IMyClass, IEnumerable<int>
{
…
}
I client COM possono effettuare chiamate alle istanze di tale tipo mediante l'interfaccia IMyClass, tuttavia le chiamate a _MyClass, _MyClass <T> o IEnumerable<T> avranno esito negativo.
Vedere anche
Riferimenti
Generics (Guida per programmatori C#)