說我有一個枚舉類似:行爲來模擬一個枚舉實現一個接口
enum OrderStatus
{
AwaitingAuthorization,
InProduction,
AwaitingDespatch
}
我也對我的枚舉整理在UI中顯示的值創建一個擴展方法,所以我有是這樣的:
public static string ToDisplayString(this OrderStatus status)
{
switch (status)
{
case Status.AwaitingAuthorization:
return "Awaiting Authorization";
case Status.InProduction:
return "Item in Production";
... etc
}
}
由優秀崗位here啓發,我想結合我的枚舉到SelectList
與擴展方法:
public static SelectList ToSelectList<TEnum>(this TEnum enumObj)
然而,在UI使用DisplayString值下拉我需要沿着
: where TEnum has extension ToDisplayString
顯然,這一切都不是要的線條添加約束與在所有工作目前的做法,除非有一些我不知道的聰明伎倆。
有沒有人有任何想法我可能能夠實現這樣的東西?
我使用這個實現了很多。 – 2010-06-09 16:49:27
真的很好,謝謝 – 2015-03-02 00:23:06
輝煌。小警告:你不能使用默認值,或者你得到「」的默認參數值必須是編譯時常量。 –
as9876
2015-06-17 14:56:49