Dire che ho un qualcosa di simile enum:Comportamento per simulare un enum implementazione di un'interfaccia
enum OrderStatus
{
AwaitingAuthorization,
InProduction,
AwaitingDespatch
}
Ho anche creato un metodo di estensione sul mio enum per riordinare i valori visualizzati nell'interfaccia utente, quindi non ho qualcosa di simile:
public static string ToDisplayString(this OrderStatus status)
{
switch (status)
{
case Status.AwaitingAuthorization:
return "Awaiting Authorization";
case Status.InProduction:
return "Item in Production";
... etc
}
}
Ispirato alla ottimo post here, voglio legare il mio enumerazioni ad un SelectList
con un metodo di estensione:
public static SelectList ToSelectList<TEnum>(this TEnum enumObj)
tuttavia, utilizzare i valori DisplayString nell'interfaccia utente discesa avrei bisogno di aggiungere un vincolo sulla falsariga di
: where TEnum has extension ToDisplayString
Ovviamente nulla di tutto questo sta andando a lavorare a tutti con la approccio attuale, a meno che non ci sia un trucco intelligente che non conosco.
Qualcuno ha qualche idea su come potrei essere in grado di implementare qualcosa di simile?
Io uso questa implementazione molto. –
Davvero bello, grazie –
Brillante. Piccolo avvertimento: non è possibile utilizzare i valori predefiniti o si ottiene "Valore parametro predefinito per" "deve essere una costante in fase di compilazione. –
as9876