小编use*_*754的帖子

通过反射获取mscorlib 2.0.5.0(又名Silverlight mscorlib)中的类型?

我正在尝试将Silverlight支持添加到我最喜欢的编程语言Nemerle中.

Nemerle,在编译过程中,主要通过两个步骤通过反射加载所有类型

1-)使用Assembly.LoadFrom加载程序集2-)使用Assembly.GetTypes()来获取类型

然后在编译结束时,它使用Reflection.Emit发出已解析的类型.

此过程适用于所有程序集,包括除Silverlight的mscorlib之外的Silverlight程序集.

在c#中,这失败了:

 var a = System.Reflection.Assembly.LoadFrom(@"c:\mscorlib.dll");
Run Code Online (Sandbox Code Playgroud)

但这传递了:

var a = System.Reflection.Assembly.ReflectionOnlyLoadFrom(@"c:\mscorlib.dll"); 
Run Code Online (Sandbox Code Playgroud)

Bu在后者中,a.GetTypes()抛出一个异常,说System.Object的父节点不存在.

有出路吗 ?

silverlight reflection.emit nemerle mscorlib assembly.reflectiononly

7
推荐指数
1
解决办法
1545
查看次数