Back to notes -- Keyboard shortcut: 'u'              Slide program -- Keyboard shortcut: 't'    A reproduction of the generic Action and Function delegate types.Lecture 11 - slide 20 : 21
Program 1
// From MSDN:
namespace System
{
    public delegate void Action();
    public delegate void Action<T>(T obj); 
    public delegate void Action<T1,T2>(T1 arg1, T2 arg2);
    public delegate void Action<T1,T2,T3>(T1 arg1, T2 arg2, T3 arg3);
    public delegate void Action<T1,T2,T3,T4>
                                 (T1 arg1, T2 arg2, T3 arg3, T4 arg4);

    public delegate TResult Func<TResult>();
    public delegate TResult Func<T, TResult>(T arg);
    public delegate TResult Func<T1, T2, TResult>(T1 arg1, T2 arg2);
    public delegate TResult Func<T1, T2, T3, TResult>
                                 (T1 arg1, T2 arg2, T3 arg3);
    public delegate TResult Func<T1, T2, T3, T4, TResult>
                                 (T1 arg1, T2 arg2, T3 arg3, T4 arg4);
}