public static QueryCatalogItemField FromValue(string value)
 {
     foreach (QueryCatalogItemField catalogItemField in QueryCatalogItemField.Values())
     {
         if (catalogItemField.Value().Equals(value))
         {
             return(catalogItemField);
         }
     }
     throw new ArgumentException(value.ToString());
 }
        public static List <QueryCatalogItemField> Values()
        {
            QueryCatalogItemField        catalogItemField     = new QueryCatalogItemField();
            List <QueryCatalogItemField> catalogItemFieldList = new List <QueryCatalogItemField>();

            foreach (FieldInfo field in catalogItemField.GetType().GetFields())
            {
                catalogItemFieldList.Add((QueryCatalogItemField)field.GetValue((object)catalogItemField));
            }
            return(catalogItemFieldList);
        }