在C#中,可以使用AppDomain类来加载程序集。以下是一个简单的示例代码,演示如何在AppDomain中加载程序集:
using System; using System.Reflection; class Program { static void Main() { // 创建一个新的AppDomain AppDomain domain = AppDomain.CreateDomain("MyDomain"); // 加载程序集到新的AppDomain Assembly assembly = domain.Load("MyAssembly"); // 在新的AppDomain中执行程序集中的代码 Type type = assembly.GetType("MyNamespace.MyClass"); MethodInfo method = type.GetMethod("MyMethod"); object instance = Activator.CreateInstance(type); method.Invoke(instance, null); // 卸载AppDomain AppDomain.Unload(domain); } }
在上面的示例中,我们首先创建了一个新的AppDomain,然后使用Load方法加载了一个名为"MyAssembly"的程序集。接下来,我们通过反射获取了程序集中的一个类和一个方法,并执行了该方法。最后,我们使用Unload方法卸载了AppDomain。
请注意,AppDomain提供了一种在应用程序中隔离和管理程序集的方式,可以在需要时动态加载和卸载程序集,以确保应用程序的稳定性和安全性。