svn path=/trunk/mcs/; revision=66255
--- /dev/null
--- /dev/null
++using System;
++
++public delegate void Hello ();
++
++struct Foo
++{
++ public int ID;
++
++ public Foo (int id)
++ {
++ this.ID = id;
++ }
++
++ public void Test (Foo foo)
++ {
++ Foo bar = this;
++ Hello hello = delegate {
++ foo.Hello (8);
++ bar.Hello (3);
++ };
++ hello ();
++ }
++
++ public void Hello (int value)
++ {
++ if (ID != value)
++ throw new InvalidOperationException ();
++ }
++
++ public override string ToString ()
++ {
++ return String.Format ("Foo ({0})", ID);
++ }
++}
++
++class X
++{
++ static void Main ()
++ {
++ Foo foo = new Foo (3);
++ foo.Test (new Foo (8));
++ }
++}