我正在爲實體框架4中的ENUM創建包裝POCO類,如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除了性別如上所述。我可以在這裏使用泛型,因此我可以對所有ENUM事件使用相同的代碼。
我是新來的仿製藥,所以需要專家的幫助。
沒有意義。爲什麼要做agen.Assign(gender.Male),當他可以做agen.EnumValue = gender.Male? OP需要將enum從/轉換爲整數的能力。 – VinayC 2010-11-01 11:14:24
@VinayC,是的,你是對的,它沒有任何意義,OP實際上被問及如何使枚舉綁定泛型類。所以我創建了一個虛擬課堂。我的意圖是向他展示如何使用枚舉作爲通用約束.... – RameshVel 2010-11-01 11:25:01
@ Ramesh - 如果我需要從包裝本身返回Enum的默認值呢? – Ram 2010-11-02 09:09:37