Пример #1
0
 /// <summary>
 /// This first version works only with constant expression
 /// </summary>
 /// <param name="queue"></param>
 /// <returns></returns>
 internal override WalkedToken Walk(Stack <WalkedToken> stack)
 {
     Object[] invokeArguments = new Object[constructorInfo.GetParameters().Length];
     for (Int32 pi = invokeArguments.Length - 1; pi >= 0; --pi)
     {
         invokeArguments[pi] = stack.Pop().GetValue <Object>();
     }
     return(WalkerFactory.FromConstant(constructorInfo.Invoke(invokeArguments), rootCriteria));
 }
 public WhereArgumentsVisitor(ICriteria rootCriteria)
 {
     this.rootCriteria = rootCriteria;
     walkerFactory = new WalkerFactory(rootCriteria);
 }