--- /dev/null
--- /dev/null
++using System;
++
++public delegate void Foo<V> (V v);
++
++public delegate void Bar<W> (W w);
++
++
++class Test<T>
++{
++ public static void Hello<S> (T t, S s)
++ {
++ Foo<long> foo = delegate (long r) {
++ Console.WriteLine (r);
++ Bar<T> bar = delegate (T x) {
++ Console.WriteLine (r);
++ Console.WriteLine (t);
++ Console.WriteLine (s);
++ Console.WriteLine (x);
++ };
++ bar (t);
++ };
++ foo (5);
++ }
++}
++
++class X
++{
++ static void Main ()
++ {
++ Test<string>.Hello ("World", 3.1415F);
++ }
++}