Короткий ответ - нет. Вы можете немного поиграть, если хотите:
Вы всегда можете сделать что-то вроде этого:
private enum Base
{
A,
B,
C
}
private enum Consume
{
A = Base.A,
B = Base.B,
C = Base.C,
D,
E
}
Но это не так уж хорошо работает, потому что Base.A! = Consume.A
Вы всегда можете сделать что-то подобное, хотя:
public static class Extensions
{
public static T As<T>(this Consume c) where T : struct
{
return (T)System.Enum.Parse(typeof(T), c.ToString(), false);
}
}
Чтобы пересечь Основу и Потребление ...
Вы также можете приводить значения перечислений в виде целых чисел и сравнивать их как целые числа вместо перечислений, но и этот тип отстой.
Возвращаемым методом расширения должен быть приведен тип cast типа.