static IDictionary <string, object> GetEnumPrototypeDictionary (Type type)
{
var ret = new Dictionary <string, object> ();
string [] names = Enum.GetNames (type);
Array values = Enum.GetValues (type);
for (int i = 0; i < names.Length; i++)
ret.Add (names [i], values.GetValue (i));
return ret;
}