在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提供了一种在应用程序中隔离和管理程序集的方式,可以在需要时动态加载和卸载程序集,以确保应用程序的稳定性和安全性。