I know that object enumeration is one of few things that Java have over C#, and sometimes I assume that I miss that feature.
But I've seen some cases that a class is used to represent an enumeration of objects, using constant fields, so it can "return an object", instead of an int.
An example is the Brushes class. It works really like an enum.
Brush b = Brushes.Blue;
We can see that the major difference (at least for me) is the need of other class (the class Brush) to store the value returned from the class Brushes (some code with implicit operator overload can do the trick).
So, my question is: good practice?
Because I'm thinking about use this into my project to make an enum of Animations (WPF), to use into a CustomControl I've created.
It seems good to me, and better than the use of an integer enumeration, because I'll need to check with a switch-case to detect witch Animation the user wants.