Freigeben über


Compilerfehler CS0453

Aktualisiert: November 2007

Fehlermeldung

Der Typ "Typname" darf keine NULL-Werte zulassen, wenn er als Parametername-Parameter im generischen Typ oder in der generischen Methode "generischer Bezeichner" verwendet werden soll.
The type 'Type Name' must be a non-nullable value type in order to use it as parameter 'Parameter Name' in the generic type or method 'Generic Identifier'

Dieser Fehler tritt auf, wenn Sie ein Argument, das nicht vom Werttyp ist, beim Instanziieren generischer Typen oder Methoden verwenden, für die die value-Einschränkung festgelegt ist. Der Fehler kann auch auftreten, wenn Sie ein Werttypargument verwenden, das NULL-Werte zulässt. Beschreibungen finden Sie in den letzten zwei Codezeilen im folgenden Beispiel.

Beispiel

Im folgenden Code wird dieser Fehler generiert.

// CS0453.cs
using System;
public class HV<S> where S : struct { }
public class H1 : HV<string> { }                   // CS0453
public class H2 : HV<H1> { }                       // CS0453
public class H3<S> : HV<S> where S : class { }     // CS0453
public class H4 : HV<int?> { }                     // CS0453
public class H5 : HV<Nullable<Nullable<int>>> { }  // CS0453