Если вам нужны два массива, то, разумеется, вам может понадобиться три или четыре (я точно не знаю, но, похоже, так и происходит).
В этом случае я хотел бы рассмотреть возможность создания класса, который является совокупностью вашего "MyControlledClass"
public class IndexedClass
{
// Property
public byte this[int index]
{
get
{
return myList[index];
}
set
{
Modified = !myList[index].Equals(value);
myList[index] = value;
}
}
}
public class IndexedClassGroup
{
// Property
public IndexedClass this[int index]
{
get
{
return myList[index];
}
set
{
Modified = !myList[index].Equals(value);
myList[index] = value;
}
}
}
Тогда вы можете получить доступ к таким вещам, как двумерный массив.
Лично я немного подозреваю в том, что теоретически можно представить массив как концепцию получения / установки, так что я не очень разбираюсь в тонкостях этого. Использует ли класс массив или список, или что-то вроде частной реализации, а не открытого свойства. Если вы собираетесь представить что-то, выставьте ICollection <> или IEnumerable <> и разрешите это внутренне в массив. Во всяком случае, мои два цента.