在大多数情况下,委托人和Func / Action是可互换的,但是在某些情况下它们是不可互换的吗?功能上有细微的差别吗?
(是的,SO上有很多“行动与代表”,但没有一个回答能力的问题以及何时不能互换。)
所谓“它们不可互换的情况”,是指您不能仅仅将Func逐字替换为相应的委托(而将委托替换为相应的Func)的情况。
正如乔恩·斯基特(Jon Skeet)在评论中回答的那样,我错过了Action / Func实际上是委托的事实(我认为这是封装委托的类):
namespace System
{
public delegate TResult Func<in T, out TResult>(T arg);
}
因此,委托与对应的Func / Action之间没有区别,因为Func / Action是委托。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句