I have a method that takes an Enum value as a parameter, but not all enums are valid. I want to do something like this
public void Method<T>(T type) where T : Enum, IValidEnum{}
public enum ValidEnum1 : IValidEnum{}
public enum ValidEnum2 : IValidEnum{}
public enum NotValidEnum{}
Method(ValidEnum1.Value) // ok
Method(ValidEnum2.Value) // ok
Method(NotValidEnum.Value) // Exeption
but enums cannot use inheritance. Any advice, please