んじゃ、こんな感じで。

class indexer{
private int array[];
public int this[int i]{
get{ return array[i]; }
set{ array[i] = value; }
}
}

このとき、外部からarrayのサイズを知るにはどうしたらオケ?
サイズを取得するにはそのためのコードを
インデクサ側でそのつど用意する必要があるとか。

// class indexer内
public int GetArraySize(){
return array.Length;
}

// 外部クラス
indexer idxr;
:
int arraySize = idxr.GetArraySize();