お気に入りのプログラミング言語 Nemerle に Silverlight サポートを追加しようとしています。
Nemerle は、コンパイル手順で、主に 2 つのステップでリフレクションを介してすべての型をロードします。
1-) Assembly.LoadFrom を使用してアセンブリを読み込みます 2-) Assembly.GetTypes() を使用して型を取得します
次に、コンパイルの最後に、Reflection.Emit で解決された型を出力します。
この手順は、Silverlight の mscorlib を除く、Silverlight を含むすべてのアセンブリで機能します。
c# では、これは失敗します。
var a = System.Reflection.Assembly.LoadFrom(@"c:\mscorlib.dll");
しかし、これは合格します:
var a = System.Reflection.Assembly.ReflectionOnlyLoadFrom(@"c:\mscorlib.dll");
後者では、 a.GetTypes() は System.Object の親が存在しないという例外をスローします。
抜け道はありますか?