标准代表在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#中预定义的。 他们是由框架定义的。

ActionFunc代表家庭比你所展示的范围更广 – 他们去

 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委托

我经常使用WaitCallbackThreadStart让他们得到提及。

如果您知道您所代表的代表的签名 ,但是您不知道是否有现成的代表具有您可以使用的签名,则可以按照我的博客上的这些说明进行查找。