Beispiel #1
0
            List <PredicatePair> result = new List <PredicatePair>(); // 抽出結果保持

            public static PredicatePair[] VisitAndGetPairs <T>(Expression <Func <T, bool> > predicate)
            {
                var visitor = new PredicateExtractVisitor(predicate.Parameters[0]); // x => ... の"x"

                visitor.Visit(predicate);
                return(visitor.result.ToArray());
            }
Beispiel #2
0
 // Visitorで舐めてx => x.Hoge == xxという形式のExpression Treeから値と演算子のペアを取り出す
 public static PredicatePair[] GetPredicatePairs <T>(Expression <Func <T, bool> > predicate)
 {
     return(PredicateExtractVisitor.VisitAndGetPairs(predicate));
 }