Hacker News new | ask | show | jobs
by dfkf 4235 days ago
It's Java's take on this. Java's version is somewhat longer, however.

  public delegate void Action<in T1>(T1 arg1);
  public delegate void Action<in T1, in T2>(T1 arg1, T2 arg2);
  public delegate void Action<in T1, in T2, in T3>(T1 arg1, T2 arg2, T3 arg3);
  public delegate TRet Func<out TRet>();
  public delegate TRet Func<in T1, out TRet>(T arg1);
  public delegate TRet Func<in T1, in T2, out TRet>(T1 arg1, T2 arg2);
  public delegate TRet Func<in T1, in T2, in T3, out TRet>(T1 arg1, T2 arg2, T3 arg3);