Action<T>和Func<T>】的更多相关文章

CLR环境中给我们内置了几个常用委托Action. Action<T>.Func<T>.Predicate<T>,一般我们要用到委托的时候,尽量不要自己再定义一 个委托了,就用系统内置的这几个已经能够满足大部分的需求,且让代码符合规范. 一.Action Action封装的方法没有参数也没有返回值,声明原型为: 1 public delegate void Action(); 用法如下: 1 public void Alert() 2 { 3 Console.Write…
c# 最初的时候 只有 delegate,之后的版本封装了Action<T> .Func<T>.EventHandler<T> 关于Action<T>  实际上Action<T>  等同于旧版的 public delegate void Action(); public delegate void Action<T1>(T1 arg1); public delegate void Action<T1, T2>(T1 arg…
概述: 除了为每个参数和返回类型定义一个新委托类型之外,可以使用Action<T> 和 Func<T> 委托. Action<T> Action<T>委托表示引用一个void返回类型的方法. Func<T> Func<T>委托允许调用带返回类型的方法. 使用: 和在 委托的使用 - 浅谈 中类似,我们可以使用允许带返回类型的方法的 Action<T> 委托: using System; namespace SimpleDe…
Action<T>和Func<T>委托 泛型Action<T>委托和Func<T>委托是系统定义的两个泛型委托. Action<T>委托表示引用一个返回类型为Void的方法.这个委托存在不同的变体,可以传递之多16个不同的参数类型.同时,没有泛型参数的Action类可以调用没有参数的方法.例如,Action<in T>表示有一个输入参数的方法,Action<in T1,in T2>表示有两个输入参数的方法. Func<…
Action<T>和Func<T>都是泛型委托. Action<T>表示委托可以引用一个viod返回类型的方法,至于方法是带几个参数,什么类型的参数,由后面的泛型决定.(Action<string, string>则表示,委托可以引用一个带有两个string类型的参数,并且返回类型为viod的方法). Func<T>表示委托可以引用一个有返回值得方法,例如Func<string, double>,该委托表示,可以引用一个带string…
action<T> 和  func<T> 都是delegate的简写形式,其中T为可以接受的参数类型 action<T> 指那些只有输入参数,没有返回值 Delegate 的代码 public delegate void myDelegate(string str); //申明 public static void HellowChinese(string strChinese) { Console.WriteLine("Good morning,"…
CLR环境中给我们内置了几个常用委托Action. Action<T>.Func<T>.Predicate<T>,一般我们要用到委托的时候,尽量不要自己再定义一 个委托了,就用系统内置的这几个已经能够满足大部分的需求,且让代码符合规范.   一.Action Action封装的方法没有参数也没有返回值,声明原型为:   1 public delegate void Action(); 用法如下:   复制代码 1  public void Alert() 2  { 3…
Action<T>和Func<T>委托事例 using System; //除了为每个参数和返回类型定义一个新委托类型之外,还可以使用Action<T>和Func<T>委托. //泛型Action<T>委托表示引用一个void返回类型的方法.这个委托类存在不同的变体,可以传递至多16种不同的参数类型. //没有泛型参数的Action类可以调用没有参数的方法. //Action<in T>调用带一个参数的方法,Action<in…
C#委托Action.Action<T>.Func<T>.Predicate<T>   CLR环境中给我们内置了几个常用委托Action. Action<T>.Func<T>.Predicate<T>,一般我们要用到委托的时候,尽量不要自己再定义一 个委托了,就用系统内置的这几个已经能够满足大部分的需求,且让代码符合规范. 一.Action Action封装的方法没有参数也没有返回值,声明原型为: 1 public delegate…
void ht_HLB_Set(Dictionary<int, int> dic) { //匿名函数 Action<int> fun = (int jhShare_Iid) => { try { switch (dic[jhShare_Iid]) { : s.Color = GradientButtons.ColorEnum.red; break; : s.Color = GradientButtons.ColorEnum.blue; break; : s.Color = G…