Func<T1, T2, TResult> public sealed delegate Func<T1, T2, TResult> : MulticastDelegate Allows us to use Func when compiling against .NET 2.0 Documentation Code namespace System { public delegate TResult Func<in T1, in T2, out TResult> (T1 arg1, T2 arg2); }