public static void AsEnum(this String stringValue, out E outputValue)
 {
     try
     {
         outputValue = MapStringToEnum[stringValue];
     }
     catch (KeyNotFoundException e)
     {
         String msg = String.Format("При попытке создать елемент перечисления {0} не было найдено соответствие значению \"{1}\"\n", typeof(E), stringValue);
         throw new InvalidOperationException(msg, e);
     }
 }
 public static String AsString(this E enumValue)
 {
     return(MapEnumToString[enumValue]);
 }