J'ai défini une coutume enum
DescriptionAttribute
(voir ma précédente question: Multiple enum descriptions)attribut personnalisé: Un argument d'attribut doit être une expression constante
public class DescriptionWithValueAttribute : DescriptionAttribute
{
public Decimal Value { get; private set; }
public DescriptionWithValueAttribute(String description, Decimal value)
: base(description)
{
Value = value;
}
}
Mon enum
ressemble à ceci:
public enum DeviceType
{
[DescriptionWithValueAttribute("Set Top Box", 9.95m)]
Stb = 1,
}
I obtenez l'erreur suivante lors de la compilation:
An attribut argument doit être une expression constante, expression typeof ou tableau expression création d'un paramètre de type d'attribut
J'ai aussi essayé: [DescriptionWithValueAttribute("Set Top Box", (Decimal)9.95)]
Toutes les idées?
Voir http://stackoverflow.com/questions/507528/use-decimal-values-as-attribute-params-in-c – BoltClock