tengo un problema en esta enumeraciónC# enum en la interfaz/clase base?
Necesito hacer una enumeración en la clase base o interfaz (pero vacía)
class Base
{
public enum Test;
// ???
}
y después de hacer enumeraciones diffrent en algunas clases padre
class Parent1
{
public enum Test {A, B, C};
}
class Parent2
{
public enum Test {J, H, K};
}
y ahora tengo la próxima clase con el método cuando tengo que usar enum
class Test<T>
{
public void Foo(Test enum)
{
int value = (int) enum;
// ...
}
}
¿Hay alguna manera de hacer algo como eso?
Si no tengo que usar enteros estáticas en cada clase ...
class Parent1
{
public static int A = 0;
public static int B = 5;
public static int C = 7;
}
class Parent2
{
public static int J = 1;
public static int H = 3;
public static int K = 6;
}
class Test<T>
{
public void Foo(int enum)
{
int value = enum;
// ...
}
}
I't se ve mal en el código ... en algunas clases tengo que usar ~ 20 + variables de
Quizás sería una buena idea volver a verificar sus suposiciones, ¿por qué lo necesitaría? Intenta reformular la pregunta para incluir lo que realmente intentas hacer, en lugar de enfocarte en la forma en que te estás acercando al problema. :) – Rytmis
¿Para qué es lo que realmente quieres usar? Tener implementaciones diferentes de la misma enumeración parece ser lo opuesto a lo que una enumeración pretende ... – Guffa
@Groo: no, eso es agregar valores a una enumeración, esto es tener una enumeración abstracta que tiene valores específicos de objeto, pero implementa una interfaz coherente, por lo que sus miembros se pueden pasar. La respuesta de Marc es la mejor que he visto. –