Я создаю классы POCO обертки для ENUM в Entity Framework 4, как указано here. Я создал обертку для перечисления следующим образом:Как сделать этот код общим?
public class PriorityWrapper
{
private gender _t;
public int Value
{
get
{
return (int)_t;
}
set
{
_t = (gender)value;
}
}
public gender EnumValue
{
get
{
return _t;
}
set
{
_t = value;
}
}
public static implicit operator PriorityWrapper(gender p)
{
return new PriorityWrapper { EnumValue = p };
}
public static implicit operator gender(PriorityWrapper pw)
{
if (pw == null) return gender.Male;
else return pw.EnumValue;
}
}
Но у меня также есть другие ENUM, кроме указанных выше. Могу ли я использовать generics здесь, поэтому я могу использовать один и тот же код для всех событий ENUM.
Я новичок в дженериках, поэтому вам нужна помощь экспертов.
не имеет смысла. Зачем делать agen.Assign (gender.Male), когда он может делать agen.EnumValue = gender.Male? OP нуждается в возможности конвертировать перечисление из/в целые числа. – VinayC
@VinayC, да, вы правы, это не имеет никакого смысла, OP действительно спрашивает, как сделать enum связанный общий класс. Я просто создал фиктивный класс. Мое намерение состояло в том, чтобы показать ему, как использовать enum в качестве общего ограничения .... – RameshVel
@ Ramesh - Что делать, если мне нужно вернуть значение по умолчанию Enum из самой оболочки? – Ram