ArrayList に自前のオブジェクトを入れているのだけれど、ArrayList のインデクサが
Object 型しか返さないので ArrayList を継承した自前オブジェクトを作ったけど
インデクサがうまく出来ないよ。

MyClass myObject = new MyClass();
MyArrayList myList = new MyArrayList();

myList.Add( myObject );

Console.WriteLine( myList[ 0 ].MyProperty );

public class MyArrayList : ArrayList
{
public new MyClass this[ int index ]
{
get
{
return this[ index ];
}
}
}

これだとコンパイルは通るけどランタイムエラーで
System.StackOverflowException がでちゃうよ〜。