在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提供了一種在應用程序中隔離和管理程序集的方式,可以在需要時動態加載和卸載程序集,以確保應用程序的穩定性和安全性。