using System; class C { public Type Test () { T[,] a = new T[0, 0]; return a.GetType (); } } class M { public static void Main () { C c1 = new C (); C c2 = new C (); if (c1.Test () != typeof (string[,])) throw new InvalidCastException (); if (c2.Test () != typeof (bool[,])) throw new InvalidCastException (); } }