Freigeben über


Microsoft.VisualBasic.ComClassAttribute kann nicht auf eine Klasse angewendet werden, die generisch ist oder sich innerhalb eines generischen Typs befindet

Aktualisiert: November 2007

'Microsoft.VisualBasic.ComClassAttribute' cannot be applied to a class that is generic or nested inside a generic type

Eine Klasse ist mit dem ComClassAttribute deklariert, doch die Klasse ist entweder generisch, oder sie ist in einer generischen Klasse oder Struktur enthalten.

Die Eignung einer .NET Framework-Klasse für COM-Interop setzt die Erfüllung der folgenden Anforderungen voraus:

  • Sie muss Public sein, alle ihre Container müssen Public sein, und sie muss mindestens einen Public-Member verfügbar machen.

  • Sie darf nicht abstrakt sein, d. h., sie darf nicht mit MustInherit deklariert sein.

  • Sie darf nicht generisch sein oder in einem generischen Containertyp deklariert sein.

Fehler-ID: BC31527

So beheben Sie diesen Fehler

  • Ändern Sie die Deklaration der Klasse, sodass sie nicht generisch ist, und stellen Sie sicher, dass ihr enthaltendes Element nicht generisch ist.

    – oder –

  • Wenn die Klasse oder ihr enthaltendes Element generisch sein muss, entfernen Sie ComClassAttribute aus der Klassendeklaration. Sie können sie nicht für COM verfügbar machen.

Siehe auch

Konzepte

Generische Typen in Visual Basic

Referenz

ComClassAttribute

Weitere Ressourcen

COM-Interop