static void Main(string[] args) { //MethodDelegate md = M1; MethodDelegate md = new MethodDelegate(M1); //md();这种调用方法,其实内部编译的时候还是调用了委托对象的Invoke()方法。 md.Invoke();//当调用了Invoke()方法的时候就相当于调用了委托中存储的那些方法。 Console.ReadKey(); }
private object InvokeFunction(Context context, Event eve) { if (eve == null) { throw new Exception("Event is null"); } var result = methodDelegate.Invoke(context, eve); if (result == null) { result = string.Empty; } return(result); }
static void Main(string[] args) { AddnumsDelegate obj1 = new AddnumsDelegate(Addnums); int result = obj1.Invoke(5, 5); Console.WriteLine(result); MultiplyDelegate obj2 = new MultiplyDelegate(Multiply); double result2 = obj2.Invoke(4, 5); Console.WriteLine(result2); MethodDelegate obj3 = new MethodDelegate(Method); obj3.Invoke("RAMYA"); Console.ReadLine(); }
private void btnRunSynchronously_Click(object sender, EventArgs e) { MethodDelegate scr = null; try { scr = CSScript.CodeDomEvaluator.CreateDelegate(scintilla.Text); } catch (Exception ex) { logger.Error(ex, "Exception generating script."); return; } try { scr.Invoke(new[] { logger }); } catch (Exception ex) { logger.Error(ex, "Exception running script."); return; } }
public SkryptObject Run(SkryptEngine engine, SkryptObject self, Arguments args) { return(Function.Invoke(engine, self, args)); }
[Benchmark(Description = "*Delegate")] public void Call_NormalClassDelegate() => _normalClassDelegate.Invoke();
public static void LoadMethod(string param, MethodDelegate methodLoader) { methodLoader.Invoke(param); }