以Action、Func、Task作为方法参数,mark一下
1 public void TestAction() 2 { 3 //Action参数 4 ExecuteFunction(() => 5 { 6 7 }); 8 ExecuteFunction(ActionAAA("para")); 9 ExecuteFunction(AAA); 10 11 //Action<T>参数,T可以由类的泛型参数输入 12 ExecuteFunction<string>((string praa) => 13 { 14 15 }); 16 //Action<T>参数,T主动输入 17 ExecuteFunction<string>((string praa) => 18 { 19 20 }, "aaa"); 21 ExecuteFunction<string>(AAA, "para"); 22 } 23 24 private void ExecuteFunction(Action action) 25 { 26 action?.Invoke(); 27 } 28 29 private void ExecuteFunction<T>(Action<T> action) 30 { 31 return; 32 } 33 private void ExecuteFunction<T>(Action<T> action, T s) 34 { 35 action?.Invoke(s); 36 }
引用的方法
1 void AAA() 2 { 3 } 4 void AAA(string para) 5 { 6 } 7 Action ActionAAA(string para) 8 { 9 return () => 10 { 11 Console.WriteLine(para); 12 }; 13 }