Freigeben über


Der Ausdruck weist den Typ '<Typname>' auf, einen eingeschränkten Typ, der nicht verwendet werden kann, um auf von 'Object' oder 'ValueType' geerbte Member zuzugreifen

Aktualisiert: November 2007

Expression has the type '<typename>' which is a restricted type and cannot be used to access members inherited from 'Object' or 'ValueType'

Ein Ausdruck wird als Typ ausgewertet, den die Common Language Runtime (CLR) nicht mit Boxing konvertieren kann, der jedoch Boxing erfordert.

Als Boxing wird die Verarbeitung bezeichnet, die zum Konvertieren eines Typs in Object oder ggf. in ValueType erforderlich ist. Die Common Language Runtime kann bestimmte Typen, z. B. ArgIterator, RuntimeArgumentHandle und TypedReference, nicht mit Boxing konvertieren.

Dieser Ausdruck versucht mithilfe des eingeschränkten Typs eine Methode aufzurufen, die von Object oder ValueType geerbt wird, z. B. GetHashCode oder ToString. Um auf diese Methode zuzugreifen, hat Visual Basic eine implizite Boxingkonvertierung versucht, die diesen Fehler verursacht.

Fehler-ID: BC31393

So beheben Sie diesen Fehler

  1. Suchen Sie den Ausdruck, der als der genannte Typ ausgewertet wird.

  2. Suchen Sie den Teil der Anweisung, der versucht, die von Object oder ValueType geerbte Methode aufzurufen.

  3. Ändern Sie die Anweisung, um den Methodenaufruf zu vermeiden.

Siehe auch

Konzepte

Implizite und explizite Konvertierungen