As you have seen, you simply need to add attributes to a Web Part property and it will automatically appear in the Editor Zone. The Editor Zone will generate a basic control appropriate for the data type of the property—a drop-down control for an enumeration or a textbox for a string.
However, let us say you declared a property intended to enter an e-mail address. How can you verify that the value the person has entered is a valid e-mail address? Unfortunately you cannot, and now understand the limitations of the automatic control generation.
The solution to this is Custom Editor Parts! You can provide your very own user interface for the purpose of custom property editing. In this recipe, we will create a Custom Editor Part, complete with a custom user control for the purpose of making a better color selector.