私は最近、同僚が離れている間に同僚のコードを逆コンパイルすることに苦労しなければなりませんでしたが、使用する必要のあるいくつかの場所を除いて、そのほとんどが驚くほどきれいに見えることがわかりました (ILSpy に感謝します) dynamic
。いくつかの部分にバラバラになりました:
- 呼び出しサイト コンテナー - つまり、定義上はクラスに似ていますが、
dynamic
使用されたメソッドが であるとしましょう。DoStuff
public /* static? I forget */ class <DoStuff>CallSiteContainer_Plus_Some_Weirdness { /* bunch of CallSite fields */ }
- コンテナー内のさまざまな CallSites が割り当てられているかどうかを確認し、必要に応じて使用前にそれらを割り当てる多くのコードは、実際にはまだ得られていないアプローチを使用しています。
私の質問は、最初のポイントのクラス宣言の構文に関するものです。ジェネリック クラスのように見えますが、明らかにそうではありません。そこで何が起こっているのか説明できる人はいますか?
元のコードを作成する際に助けを求めているわけではないことに注意してください。検索と置換を賢明に使用し、自動生成されたコードを他のすべてのものから切り離すことで、すでにそれを行うことができました。しかし、CallSite コンテナー構文が有効なクラス名である理由を理解したいと思います!