using System; delegate void Foo (S s); class X { public void Hello (U u) { } public void Test (T t) { Hello (t); Foo foo = delegate (T u) { Hello (u); }; foo (t); } public static void Main () { X x = new X (); x.Test (3); } }