标准代表在C#中
有一些代表在C#中预定义
我知道这些:
EventHandler // Default event callbacks EventHandler<T> // Default event callbacks with custom parameter (inheriting from EventArgs) Action // Function without return value and without parameter Action<T1, T2, T3, T4> // Function without return value and 1-4 parameters Func<T1, T2, T3, T4, TResult> // Methos with 0-4 parameters and one result type Predicate<T> // equivalent to Func<T, bool>
框架中的特殊情况和生成的表单部分还有很多,但这些在自写代码中通常是很好的。
如果你知道一些更有用的添加它们。 否则这是回答。
它们不是在C#中预定义的。 他们是由框架定义的。
Action
和Func
代表家庭比你所展示的范围更广 – 他们去
Action<T1, T2, T3, T4>
和
Func<T1, T2, T3, T4, TResult>
在.NET 2.0中用于列表操作(在LINQ之前)的另一个常见问题是Predicate<T>
。
处理线程:
ThreadStart ParameterizedThreadStart WaitCallback TimerCallback AsyncCallback
我喜欢用Predicate<T>
,它等同于Func<T, bool>
转到reflection器searchSystem.MulticastDelegate并检查派生types。 您将获得您正在查找的所有代表的列表。
我也遇到过
Comparison<T>
在里面
List.Sort(Comparison<T>)
通用的方法。 我想这相当于:
Func<T1, T2, int>
System.Windows.ValidateValueCallback,它表示一个用作callback的方法,用于validation依赖项属性的有效值。
阅读更多: MSDN:ValidateValueCallback委托
我经常使用WaitCallback
和ThreadStart
让他们得到提及。
如果您知道您所代表的代表的签名 ,但是您不知道是否有现成的代表具有您可以使用的签名,则可以按照我的博客上的这些说明进行查找。