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

            foreach (FieldInfo field in metadataExpressionType.GetType().GetFields())
            {
                metadataExpressionTypeList.Add((MetadataExpressionType)field.GetValue((object)metadataExpressionType));
            }
            return(metadataExpressionTypeList);
        }