Я пытаюсь добавить поддержку Silverlight в мой любимый язык программирования Nemerle.
Nemerle, в процессе компиляции, загружает все типы через отражение в основном в 2 шага
1-) Использует Assembly.LoadFrom для загрузки сборки
2-) Используйте Assembly.GetTypes (), чтобы получить типы
Затем в конце компиляции он генерирует разрешенные типы с Reflection.Emit.
Эта процедура работает для всех сборок, включая Silverlight, кроме mscorlib of silverlight.
В c # это не получается:
var a = System.Reflection.Assembly.LoadFrom(@"c:\mscorlib.dll");
но это проходит:
var a = System.Reflection.Assembly.ReflectionOnlyLoadFrom(@"c:\mscorlib.dll");
В последнем случае a.GetTypes () вызывает исключение, скажем, в System.Object родительский объект не существует.
Есть ли выход?