public static CarModeStateModel GetMetaData(this CarModeStates value) { var model = new CarModeStateModel { Message = value.GetDescriptionFromEnumValue <string>(typeof(CarStatusAttribute)), IsError = value.GetDescriptionFromEnumValue <bool>(typeof(IsErrorAttribute)), IsUsingPetrol = value.GetDescriptionFromEnumValue <bool>(typeof(IsUsingPetrolAttribute)) }; return(model); }
public static T GetDescriptionFromEnumValue <T>(this CarModeStates value, Type attributeType) { var attribute = value.GetType() .GetField(value.ToString()) .GetCustomAttributes(attributeType, false).SingleOrDefault(); if (attribute == null) { return(default(T)); } return(((IAttribute <T>)attribute).Description); }