MyObjects の配列へのアクセスをカプセル化する抽象親クラスがあります。
public abstract class MyObjectIterator
{
public MyObjectIterator(MyObject[] MyObjects) { //constructor }
public Vector2 [] Coords { //A Get Function }
public Model[] Params { //A Get Function }
//THIS ISN'T SAFE! CAN STILL CHANGE MEMBERS OF THE SET
public MyObject[] MyObjects{ get; protected set; }
}
この子クラスは、別の目的で既に単一のインデックス インデクサーを実装しているため、それを使用して MyObject を返すことはできません。
ただし、配列を返すことは安全でない/悪い習慣であるため、これは内部の要素を変更できることを意味するため、単一の要素にアクセスするためのきちんとしたインターフェイスを提供できる方法を探しています。
MyObject = Child.MyObjects[i];
ただしset
、MyObjects の要素へのアクセスは提供しません。
私が持っている関連する質問は次のとおりです。親クラスにインデクサーがある場合、子クラスのオブジェクトがあるときにこれを使用できますか?
編集:私
が望んでいたことを最も達成する
ため、この方法を使用することにしました。
public MyObject MyObject(int index) { return MyObjects[index]; }