Considere el siguiente código:Cómo restringir un genérico para que sea de tipo enumeración?
class Base<T>
{
//Base members
}
Quiero que el genérico T sea una enumeración (mediante restricciones si es posible). ¿Cómo puedo hacer esto en C#?
EDIT:
Uso de contratos de código -introduced por Akash Kava- también parece ser una manera agradable. Logré que produjera un error de tiempo de ejecución que es inútil. Here es el código que probé. Debería ser posible generar una advertencia de tiempo de compilación pero no puedo hacer que funcione.
Esto es un duplicado, ¿verdad? – BoltClock
Enlace para duplicar, por favor? – atoMerz
Muchos de ellos, pero uno de los canónicos que puedo encontrar es http://stackoverflow.com/questions/79126/create-generic-method-constraining-t-to-an-enum, que aunque se trata de un método genérico , no es una clase genérica, las restricciones de tipo funcionan exactamente de la misma manera de todos modos. – BoltClock