示例#1
0
 public Expression GetExpressionTemplate(string name)
 {
     TypeNode exprClass = ((Namespace)cuExprs.Nodes[0]).Types[0];
     for (int i = 0; i < exprClass.Members.Count; i++)
     {
         Field f = exprClass.Members[i] as Field;
         if (f != null && f.Name.Name == name)
         {
             Duplicator duplicator = new Duplicator(module, null);
             duplicator.SkipBodies = false;
             return duplicator.VisitExpression(f.Initializer);
         }
     }
     throw new ArgumentException(string.Format(CultureInfo.CurrentUICulture,
         "Expression template '{0}' not found", name));
 }
示例#2
0
 Expression Duplicate(Expression e, TypeNode referringType) {
   Duplicator dup = new Duplicator(this.module, referringType);
   return dup.VisitExpression(e);
 }