在C#中,可以使用AppDomain類來(lái)加載程序集。以下是一個(gè)簡(jiǎn)單的示例代碼,演示如何在AppDomain中加載程序集:
using System;
using System.Reflection;
class Program
{
static void Main()
{
// 創(chuàng)建一個(gè)新的AppDomain
AppDomain domain = AppDomain.CreateDomain("MyDomain");
// 加載程序集到新的AppDomain
Assembly assembly = domain.Load("MyAssembly");
// 在新的AppDomain中執(zhí)行程序集中的代碼
Type type = assembly.GetType("MyNamespace.MyClass");
MethodInfo method = type.GetMethod("MyMethod");
object instance = Activator.CreateInstance(type);
method.Invoke(instance, null);
// 卸載AppDomain
AppDomain.Unload(domain);
}
}
在上面的示例中,我們首先創(chuàng)建了一個(gè)新的AppDomain,然后使用Load方法加載了一個(gè)名為"MyAssembly"的程序集。接下來(lái),我們通過(guò)反射獲取了程序集中的一個(gè)類和一個(gè)方法,并執(zhí)行了該方法。最后,我們使用Unload方法卸載了AppDomain。
請(qǐng)注意,AppDomain提供了一種在應(yīng)用程序中隔離和管理程序集的方式,可以在需要時(shí)動(dòng)態(tài)加載和卸載程序集,以確保應(yīng)用程序的穩(wěn)定性和安全性。