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))); } }
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))); } }