Assembly.Load方法是.NET Framework提供的一個用于加載程序集的方法。它可以從文件路徑、文件流、字節數組和程序集顯示的名稱等不同的來源中加載程序集。
方法的簽名如下:
public static Assembly Load(string assemblyString)
參數assemblyString是一個表示程序集的字符串,可以是程序集文件的路徑、文件流、字節數組或程序集的顯示名稱。程序集的顯示名稱通常是程序集的完全限定名,可以包含程序集的名稱、版本號、文化和公鑰信息等。如果assemblyString是文件路徑,Load方法會從文件路徑中加載程序集;如果assemblyString是程序集的顯示名稱,Load方法會從全局程序集緩存或加載上下文中查找并加載匹配的程序集。
返回值是加載的程序集對象,類型為Assembly。加載成功后,可以通過返回的Assembly對象進行后續的操作,如創建實例、調用方法、訪問類型和成員等。
需要注意的是,Load方法只會加載程序集,并不會執行其中的代碼。如果需要執行程序集中的代碼,可以使用Assembly.GetTypes方法獲取程序集中的類型,然后通過反射創建實例或調用方法。
以下是一個示例代碼,演示了如何使用Assembly.Load方法加載并使用程序集:
// 加載程序集
Assembly assembly = Assembly.Load("MyAssembly");
// 獲取程序集中的類型
Type myType = assembly.GetType("MyNamespace.MyClass");
// 創建類型的實例
object instance = Activator.CreateInstance(myType);
// 調用方法
MethodInfo method = myType.GetMethod("MyMethod");
method.Invoke(instance, null);
總結來說,Assembly.Load方法是用于加載程序集的一個重要方法,在動態加載和使用程序集的場景中非常有用。它可以根據程序集的字符串表示加載程序集,并返回加載的程序集對象,從而可以進行后續的操作。