示例#1
0
 internal override Delegate CreateDelegate(DynamicMethod dm)
 {
     if (HasNestedCodeblocks)
     {
         var eval_dlg = dm.CreateDelegate(typeof(NestedWrapper.EvalDelegate)) as NestedWrapper.EvalDelegate;
         return(Delegate.CreateDelegate(typeof(R), new NestedWrapper(NestedCodeblocks.ToArray(), eval_dlg), "Eval", false));
     }
     else
     {
         return(dm.CreateDelegate(typeof(R)));
     }
 }
示例#2
0
 internal override Delegate CreateDelegate(DynamicMethod dm)
 {
     if (HasNestedCodeblocks)
     {
         var eval_dlg = dm.CreateDelegate(typeof(NestedWrapper.EvalDelegate)) as NestedWrapper.EvalDelegate;
         RuntimeCodeblockDelegate dlg = new NestedWrapper(NestedCodeblocks.ToArray(), eval_dlg).Eval;
         return(dlg);
     }
     else
     {
         return(dm.CreateDelegate(typeof(R)));
     }
 }