Decir que tengo una enumeración algo como:Comportamiento para simular una enumeración implementar una interfaz
enum OrderStatus
{
AwaitingAuthorization,
InProduction,
AwaitingDespatch
}
También he creado un método de extensión en mi enumeración para poner en orden los valores que se muestran en la interfaz de usuario, por lo que tengo algo así como:
public static string ToDisplayString(this OrderStatus status)
{
switch (status)
{
case Status.AwaitingAuthorization:
return "Awaiting Authorization";
case Status.InProduction:
return "Item in Production";
... etc
}
}
Inspirado por el excelente post here, quiero unir mis enumeraciones a un SelectList
con un método de extensión:
public static SelectList ToSelectList<TEnum>(this TEnum enumObj)
sin embargo, utilizar los valores DisplayString en la interfaz de usuario desplegable que había necesidad de agregar una restricción en la línea de
: where TEnum has extension ToDisplayString
Obviamente nada de esto va a funcionar en absoluto con el enfoque actual, a menos que haya algún truco inteligente que yo no sepa.
¿Alguien tiene alguna idea acerca de cómo podría ser capaz de implementar algo como esto?
Utilizo mucho esta implementación. –
muy bonito, gracias –
brillante. Pequeña advertencia:.. No puede utilizar los valores por defecto, o bien obtener "valor del parámetro por defecto para '' debe ser una constante en tiempo de compilación –
as9876