Vu le code de répéter dans mon projet sous la forme:Extrayez attribut à l'aide des génériques
public static ReasonAttributes GetAttributes(this Reason value)
{
var type = value.GetType();
var name = Enum.GetName(type, value);
if (name == null) return null;
var field = type.GetField(name);
if (field == null) return null;
return Attribute.GetCustomAttribute(field, typeof(ReasonAttributes)) as ReasonAttributes;
}
Est-il possible de créer un générique je peux éviter de répéter le code? Le long des lignes de:
public static T GetAttribute<T, T1>(T1 value)
{
var type = value.GetType();
var name = Enum.GetName(type, value);
if (name == null) return default(T);
var field = type.GetField(name);
if (field == null) return default(T);
return Attribute.GetCustomAttribute(field, typeof(T)) as T;
}
Je reçois l'erreur sur la ligne de retour:
The type parameter <T> cannot be used with the `as` operator because it does not have a class type constraint nor a `class` constraint.
Meilleure réponse que la mienne. Bon travail Monsieur :-) – Wndrr