?
isn't a valid character in a C# identifier (including enum values). I strongly suggest you use something like:
public enum Question
{
[Description("How old are you?")]
Age,
[Description("What is your name?")]
Name
}
Or have a map or a resource file etc - just don't try to make the name of the enum into a natural language description.
EDIT: For reference, if you want to get at the Description
from code, here's how to do it (thanks Christian Hayter):
((DescriptionAttribute) Attribute.GetCustomAttribute(
typeof(Question).GetField("Age", BindingFlags.Public | BindingFlags.Static),
typeof(DescriptionAttribute), false)
).Description;