i have problem with enum
I need make a enum in base class or interface (but empty one)
class Base
{
public enum Test;
// ???
}
and after make diffrent enums in some parent classes
class Parent1
{
public enum Test {A, B, C};
}
class Parent2
{
public enum Test {J, H, K};
}
and now i have next class with method when i have to use enum
class Test<T>
{
public void Foo(Test enum)
{
int value = (int) enum;
// ...
}
}
It’s there any way to do something like that ?
If not i have to use static ints in every class …
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 looks bad in code … in some classes i have to use ~20+ variables
There is no such thing as an abstract enum (that can have different implementations in subclasses) – but generics may be an option:
The only problem is that this doesn’t enforce that only enums are usable – you can do this at runtime, though – for example in a type initializer: