summaryrefslogtreecommitdiff
path: root/mcs/tests/test-anon-171.cs
blob: ff084d41e8da151efd2e3bf839b284238401a295 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
using System;

namespace TestAnonSwitch
{
	public class MyClass
	{
		public event EventHandler<EventArgs> FirstEvent;
		public event EventHandler<EventArgs> SecondEvent;

		public void Trigger ()
		{
			if (FirstEvent != null)
				FirstEvent (this, EventArgs.Empty);
		}
	}

	public class Tester
	{
		MyClass myobj;

		public void Test ()
		{
			myobj = new MyClass ();
			var something = "key";

			switch (something) {
			case "key":
				myobj.FirstEvent += (sender, e) => {
					Console.WriteLine ("FirstEvent: {0}", myobj);
				};
				break;
			case "somethingelse":
				bool? woot = null;
				myobj.SecondEvent += (sender, e) => {
					Console.WriteLine ("woot {0}", woot);
				};
				break;
			}

			myobj.Trigger ();
		}
	}

	class MainClass
	{
		public static void Main ()
		{
			var tester = new Tester ();
			tester.Test ();
		}
	}
}