У меня есть следующий вспомогательный метод в классе ViewModelBase
, который унаследован другим видом. Модели:
public string GetEnumName<T>(Enum value)
{
Type enumType = typeof(T);
var enumValue = Enum.GetName(enumType, value);
MemberInfo member = enumType.GetMember(enumValue)[0];
var attrs = member.GetCustomAttributes(typeof(DisplayAttribute), false);
var outString = ((DisplayAttribute)attrs[0]).Name;
if (((DisplayAttribute)attrs[0]).ResourceType != null)
{
outString = ((DisplayAttribute)attrs[0]).GetName();
}
return outString;
}
Затем я вызываю это из представления следующим образом:
<p>
@{var rel = Model.GetEnumDisplayName<Enums.wheteverEnum>(Model.wheteverEnum); }
@rel
</p>
Вопрос: могу ли я работать с этим методом, поэтому мне не нужно указывать тип enum
? В принципе, я хотел бы сделать это для всех enum
s:
@Model.GetEnumDisplayName(Model.wheteverEnum)
Нет typeof
, no T
, не нужно добавлять ссылку в пространство имен Enums
в представлении...
Возможные?