Maintenant que nous avons une contrainte enum, pourquoi le compilateur ne me permet-il pas d'écrire ce code?
public static TResult? ToEnum<TResult>(this String value, TResult? defaultValue)
where TResult : Enum
{
return String.IsNullOrEmpty(value) ? defaultValue : (TResult?)Enum.Parse(typeof(TResult), value);
}
Le compilateur dit:
Erreur CS0453 Le type 'TResult' doit être un type de valeur non nullable afin de l'utiliser comme paramètre 'T' dans le type ou la méthode générique 'Nullable'