// Supported by C# 3.0 public class C { public delegate T Func (T t); public static void Test (Func f, U u) { } public static void Main () { Test (delegate (int i) { return i; }, ""); Test (delegate (int i) { return i; }, 1); } }