Вы определили это [] с одной и той же подписью (принимая int, возвращая int) несколько раз.
Как компилятор знает, какой взять?
Лучше сделайте ваши массивы Свойства (на этот раз индексированные свойства действительно пригодятся!)
И сделайте ваш метод set для ваших свойств закрытым, иначе они могут перезаписать массив вместо простого изменения значений.
Итак, чтобы помочь TS немного больше:
public class Test
{
private string[] _a;
private int[] _b;
public string[] A
{
get { return this._a; }
private set { this._a = value; }
}
public int[] B
{
get { return this._b; }
private set { this._b = value; }
}
public Test()
{
// todo add ctor logic here
}
}
// now you can do:
Test t = new Test();
t.A[1] = "blah"; // assuming that index of the array is defined.
Удачи