I know that you can't use inheritance with enums, so in my base class I want to define that the classes that implement it must return an enum of some type for a property.
Ideally, this would be like:
public abstract BaseEnum MyEnum { get; set; }
Then all the implementers would have to return some form of enum. But obviously BaseEnum doesn't exist. I can use object, but I'd rather not.
Is there a nice way of doing this?
Edit: I'm asking this because I essentially want to keep the name of the property in the implementing classes the same - I know that I won't be able to work with the enum in the base class, but if I didn't put it in the base, then the implementing classes could decide on their own property names for their enum, which could become unclear over time, as they would drift towards their own implementations.