ユーザースクリプト空間のwindow

window['hoge'] = 'hoge'; とか書くとエラーになるけどなんでよ?という指摘があってちょっと調べたのだけど、ユーザースクリプト空間のwindowは偽者で、IHTMLWindow2とIHTMLWindow3のインタフェースだけ用意したものだ。IHTMLWindow4はヘンなメソッドが2個あるだけなので、使わんだろうと無視した。
で、JavaScriptC#の橋渡しするのにメソッドとプロパティはまあ出来るのだけど、['hoge']のようなインデクサが動かん。C#で普通にインデクサ書いても呼ばれない。
んー、JavaScriptのほうで var window = {}; とかしといて、本来の各メンバーを本体のほうを呼ぶように上書きする?1個1個やんのは冗長だろー。
メンバーを列挙するのに例を見ながら、for(var member in window) と回してみたが、プロパティしか出てこない。メソッドはどうやって列挙すんだ。