using System;

class C<T>
{
	public Type Test ()
	{
		T[,] a = new T[0, 0];
		return a.GetType ();
	}
}

class M
{
	public static void Main ()
	{
		C<string> c1 = new C<string> ();
		C<bool> c2 = new C<bool> ();
		if (c1.Test () != typeof (string[,]))
			throw new InvalidCastException ();
		if (c2.Test () != typeof (bool[,]))
			throw new InvalidCastException ();
	}
}