I wonder why we can't add static methods (only methods, not properties) into enums? Is there any explanation for that?
It would be very useful if it was allowed.
And I also want to learn who forbids us to do it? Is it IL or C#?
Edit:
I don't want to use extension methods. Because I dont need to pass an instance of that enum. I don't need it's value there...
I want to call something like FooTypes.GetGoodFoos()
not something FooTypes.BadFoo.GetSomething()
Edit 2:
Is that only me who thinks this could be more useful rather than writing this method in another class?
public enum Colors
{
Red,
LightRed,
Pink,
/* .
.
. */
Green
public static Colors[] GetRedLikes()
{
return new Colors[]
{
Colors.Red,
Colors.LightRed,
Colors.Pink
}
}
}