Generic Enum helper dud

I hoped I could write a generic helper class that you could use when Refactoring your enum to a class.  I wrote this:


      class EnhancedEnum<T> where T : struct


            public readonly T Value;

            public EnhancedEnum(T value) { this.Value = value; }


            public static implicit operator T(EnhancedEnum<T> e) { return e.Value; }

            public static implicit operator EnhancedEnum<T>(T i) { return new EnhancedEnum<T>(i); }



But since you can’t make a struct derive from a class, it’s not very useful.  Oh, well.


One of the interesting things to note here is the T is no constrained to the builtin integral types, the same way that 'enum' is.  That means you could make an enum of any value type.  That'd be kinda neat, I think.

Comments (0)

Skip to main content