コード例 #1
0
 public static ExpressionParser AddRule <T>(this ExpressionParser expressionParser, Func <T, ExpressionParseEventArgs, string> parseFunction,
                                            Func <T, bool> isApplicable, params ExpressionType[] expressionTypes) where T : Expression
 {
     if (expressionTypes.Length == 0)
     {
         expressionParser.AddRule(new ExpressionTypeParseRule <T>(default(ExpressionType?), isApplicable, parseFunction));
     }
     else
     {
         foreach (ExpressionType expressionType in expressionTypes)
         {
             expressionParser.AddRule(new ExpressionTypeParseRule <T>(expressionType, isApplicable, parseFunction));
         }
     }
     return(expressionParser);
 }
コード例 #2
0
 public static ExpressionParser AddRule <T>(this ExpressionParser expressionParser, Func <T, ExpressionParseEventArgs, string> parseFunction, params ExpressionType[] expressionTypes) where T : Expression
 {
     return(expressionParser.AddRule(parseFunction, null, expressionTypes));
 }