public class Test { public static object genArr () { return new T[3,3]; } public static int Main () { if (genArr ().GetType () != typeof (int [,])) return 1; if (genArr ().GetType () != typeof (object [,])) return 1; if (genArr ().GetType () != typeof (string [,])) return 1; if (genArr ().GetType () != typeof (Test [,])) return 1; return 0; } }