Я знаю, что вы не можете использовать наследование с перечислениями, поэтому в моем базовом классе я хочу определить, что классы, которые его реализуют, должны возвращать перечисление некоторого типа для свойства.
В идеале это будет выглядеть так:
public abstract BaseEnum MyEnum { get; set; }
Тогда все исполнители должны будут возвращать некоторую форму перечисления. Но очевидно, что BaseEnum не существует. Я могу использовать объект, но я бы не хотел.
Есть ли хороший способ сделать это?
Редактировать: Я спрашиваю об этом, потому что по сути хочу сохранить имя свойства в реализующих классах одинаковым - я знаю, что не смогу работать с перечислением в базовый класс, но если бы я не поместил его в базовый класс, то реализующие классы могли бы выбирать собственные имена свойств для своих перечислений, которые со временем могут стать неясными, поскольку они дрейфуют к своим собственным реализациям.