Cześć mam takie pytanie co lepiej używać bo mam model i jedna właściwość przechowuje rodzaje umów. Wybrałem enum i mam coś takiego :
public AgreementTypes AgreementTypes { get; protected set; }
a enum wygląda tak:
public enum AgreementTypes
{
[Display(Name = "Umowa o pracę")]
[Description("Umowa o pracę")]
contractOfEmployment = 1,
[Display(Name = "Umowa o dzieło")]
[Description("Umowa o dzieło")]
contractOfWork = 2,
[Display(Name = "Umowa zlecenie")]
[Description("Umowa zlecenie")]
contractOfMandate = 3
}
Ale chciałbym zwracać string nazwy umów do angulara więc użyłem enum helpera:
public static string GetEnumDescription(Enum value)
{
FieldInfo fi = value.GetType().GetField(value.ToString());
DescriptionAttribute[] attributes = fi.GetCustomAttributes(typeof(DescriptionAttribute), false) as DescriptionAttribute[];
if (attributes != null && attributes.Any())
{
return attributes.First().Description;
}
return value.ToString();
}
Czy nie lepiej po prostu stworzyć const stringa i zmienić enum. Co lepiej wybrać i dlaczego ? :)