1 // Compiler options: -r:test-543-lib.dll
7 public int this[params bool[] args] { get { return 2; } }
8 public string this[bool a, object b] { get { throw new NotImplementedException (); } }
13 public int this [int expectedLength, params string[] items]
17 if (expectedLength != items.Length)
18 throw new ArgumentException (expectedLength + " != " + items.Length);
22 public object this [int expectedLength, params object[] items]
26 if (expectedLength != items.Length)
27 throw new ArgumentException (expectedLength + " != " + items.Length);
31 public bool this [int expectedLength, bool isNull, params object[] items]
35 if (expectedLength != items.Length)
36 throw new ArgumentException (expectedLength + " != " + items.Length);
40 static void Main(string[] args)
42 MainClass t = new MainClass();
43 t [2, "foo", "doo"] = 2;
44 t [3, new object[3]] = null;
45 t [2, new int[] { 1 }, new string[] { "c", "b", "a" }] = null;
46 t [0, true] = t [0, true];
47 t [1, false, "foo"] = t [0, false, "foo", "doo"];
49 ExternClass e = new ExternClass ();
50 e ["a", "b", "b"] = false;
52 BetterMethod bm = new BetterMethod ();
53 Console.WriteLine (bm[true, false]);