class X {
	delegate void B (int a, int b);
	static void A (int a, int b) {}

	delegate void D (out int a);
	static void C (out int a) { a = 5; }
	
	public static void Main()
	{
		(new B (A)) (1, 2);

		int x = 0;
		(new D (C)) (out x);
		if (x != 5)
			throw new System.Exception ("The value of x is " + x);
	}
}