class Test { public static void Main () { } static void Foo (ref T t) { } static void Foo (T[] t) { } static void Foo (T[,] t) { } static void Foo (T[, ,] t) { } static void Bar (ref int t) { } static void Bar (int[] t) { } static void Bar (int[,] t) { } static void Bar (int[, ,] t) { } }