我们何时应该使用Action <t>而不是创建自定义委托</t>

时间:2012-11-05 21:15:11

标签: c# delegates design-choices

我们应该何时使用Action<T>而不是明确定义委托?

由于

2 个答案:

答案 0 :(得分:2)

嗯...

Action<T> is almost the same as delegate void (T t)
and
Func<T> is almost the same as delegate T ()

Action和Func(和lambdas)只是'语法糖'和使用代表的便利。

所以这只是一个偏好问题。

答案 1 :(得分:2)

这完全是一个偏好问题,但如果Action或Func的一个重载可行,我认为没有理由定义你自己的委托。如果您有ref / out / params参数,可选参数或其他一些此类边缘情况,您别无选择,只能定义自己的边缘情况。