Freigeben über


Die <Ausdruck>-Typeinschränkung muss entweder eine Klasse, eine Schnittstelle oder ein Typparameter sein

Aktualisiert: November 2007

Type constraint '<expression>' is not a class or interface

Eine Einschränkungsliste enthält einen Ausdruck, der keine gültige Einschränkung für einen Typparameter darstellt.

Eine Einschränkungsliste erzwingt Anforderungen an das Typargument, das an den Typparameter übergeben wird. Sie können die folgenden Anforderungen in beliebiger Kombination angeben:

  • Das Typargument muss mindestens eine Schnittstelle implementieren.

  • Das Typargument darf von höchstens einer Klasse erben.

  • Das Typargument muss einen parameterlosen Konstruktor verfügbar machen, auf den der erstellende Code zugreifen kann.

  • Das Typargument muss ein Verweistyp oder ein Werttyp sein.

Fehler-ID: BC32048

So beheben Sie diesen Fehler

  • Stellen Sie die richtige Schreibweise des Ausdrucks und seiner Elemente sicher.

  • Wenn der Ausdruck nicht der obigen Liste von Anforderungen entspricht, entfernen Sie ihn aus der Einschränkungsliste.

  • Wenn der Ausdruck auf eine Schnittstelle oder eine Klasse verweist, stellen Sie sicher, dass der Compiler auf diese Schnittstelle bzw. Klasse zugreifen kann. Möglicherweise müssen Sie ihren Namen qualifizieren, und eventuell müssen Sie dem Projekt einen Verweis hinzufügen. Weitere Informationen finden Sie in Auflösen eines Verweises bei mehreren Variablen mit gleichem Namen unter "Verweise auf Projekte".

Siehe auch

Aufgaben

Gewusst wie: Qualifizieren eines deklarierten Elementnamens

Gewusst wie: Hinzufügen oder Entfernen von Verweisen in Visual Studio (C#)

Konzepte

Generische Typen in Visual Basic

Wert- und Verweistypen