Behaviour to simulate an enum implementing an interface
        Posted  
        
            by fearofawhackplanet
        on Stack Overflow
        
        See other posts from Stack Overflow
        
            or by fearofawhackplanet
        
        
        
        Published on 2010-06-09T15:59:54Z
        Indexed on 
            2010/06/09
            16:02 UTC
        
        
        Read the original article
        Hit count: 230
        
Say I have an enum something like:
enum OrderStatus
{
    AwaitingAuthorization,
    InProduction,
    AwaitingDespatch
}
I've also created an extension method on my enum to tidy up the displayed values in the UI, so I have something like:
public static string ToDisplayString(this OrderStatus status)
{
    switch (status)
    {
        case Status.AwaitingAuthorization:
            return "Awaiting Authorization";
        case Status.InProduction:
            return "Item in Production";
        ... etc
    }
}
Inspired by the excellent post here, I want to bind my enums to a SelectList with an extension method:
public static SelectList ToSelectList<TEnum>(this TEnum enumObj)
however, to use the DisplayString values in the UI drop down I'd need to add a constraint along the lines of
: where TEnum has extension ToDisplayString
Obviously none of this is going to work at all with the current approach, unless there's some clever trick I don't know about.
Does anyone have any ideas about how I might be able to implement something like this?
© Stack Overflow or respective owner