Share via


Erreur du compilateur CS0453

Mise à jour : novembre 2007

Message d'erreur

Le type 'Nom de type' doit être un type valeur non nullable afin d'être utilisé comme paramètre 'Nom de paramètre' dans le type ou la méthode générique 'Identificateur générique'
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'

Cette erreur se produit lorsque vous utilisez un argument de type non-valeur pour instancier un type ou une méthode générique qui possède la contrainte value. Elle peut également se produire lorsque vous utilisez un argument de type valeur nullable. Consultez les deux dernières lignes de code dans l'exemple suivant.

Exemple

Le code suivant génère cette erreur.

// 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