Interoperation mit generischen Typen
Aktualisiert: November 2007
Das COM-Modell unterstützt das Konzept von generischen Typen nicht. Infolgedessen können generische Typen für COM-Interop nicht direkt verwendet werden.
Nicht unterstützte Aktionen
Die folgenden Aktionen werden nicht unterstützt und schlagen mit einem E_NOINTERFACE-Fehler fehl:
Zugriff auf generische Schnittstellen von COM.
Zugriff auf Klassenschnittstellen für nicht generische Klassen, die von generischen Klassen abgeleitet sind.
Generieren von Klassenschnittstellen für generische Klassen. Zum Beispiel kann die _MyGenericType-Schnittstelle nicht für die MyGenericType<T>-Klasse generiert werden.
Unterstützte Aktionen
Sie können auf eine generische Klasse mit einer nicht generischen Basisschnittstelle indirekt zugreifen. Betrachten Sie z. B. den folgenden Typ:
[C#]
class MyClass <T> : IMyClass, IEnumerable<int>
{
…
}
COM-Clients können Instanzen dieses Typs mit der IMyClass-Schnittstelle aufrufen, aber Aufrufe von _MyClass, _MyClass <T> oder IEnumerable<T> führen zu einem Fehler.
Siehe auch
Referenz
Generika (C#-Programmierhandbuch)