.NET类加载器 - 它是什么?

use*_*190 12 .net

我找不到任何关于.NET Loader中类加载器概念的文档?它是什么?它在哪里可以找到?有人知道吗?

Ran*_*ica 15

在.NET中,程序集是部署的基本单位.实际加载组件的技术称为Fusion.有关详细信息,请阅读.NET Fusion Workshop.每个程序集都有自己的类加载器,用于从该程序集加载类型.

托管公共语言运行时也可能是有意义的.

我不认为.NET中的类加载器具有与Java相同的重要性或功能.类的加载将由程序集的类加载器处理.

动态加载通常通过加载程序集然后实例化类来完成:

Assembly assembly = Assembly.LoadFrom("assemblyName");
Type type = assembly.GetType("className");
object x = Activator.CreateInstance(type);
Run Code Online (Sandbox Code Playgroud)


Bo *_* HU 5

兰迪·利维(Randy Levy)并没有回答所有问题。类加载器比Assembly.LoadFrom做更多的工作。因为没有像“ Assembly.Unload”这样的方法。只能通过关闭appdomain来卸载程序集。Java的类加载器可以做的不仅仅是Randy Levy的答案。在.NET中,等效于类加载器的 stackoverflow 等效项中标记一个更好的答案