動態載入並建立 .NET 組件的實例
在許多開發場景中,您可能需要在執行時間載入並建立 .NET 組件的實例,只知道其名稱和要使用的類別。 這與傳統引用不同,在傳統引用中,您明確添加對項目的引用。
使用 Assembly.LoadFrom 和 Activator.CreateInstance
.NET 框架提供了處理此問題的工具。 Assembly.LoadFrom
將組件載入到記憶體中,使其類型可存取。然後,Activator.CreateInstance
在該程式集中建立指定類別的實例。
程式碼範例
以下是載入組件並建立類別實例的方法:
<code class="language-csharp">Assembly assembly = Assembly.LoadFrom("library.dll"); Type type = assembly.GetType("Company.Project.Classname"); object instanceOfClassname = Activator.CreateInstance(type);</code>
處理未知路徑
如果 DLL 的確切路徑未知,Assembly.LoadFrom
將無法運作。 這種情況,你可以嘗試Activator.CreateInstance(assemblyName, typeName)
。 此方法嘗試根據組件和類型名稱來尋找類型。如果不成功,您可以在特定目錄中搜尋程序集,然後使用 Assembly.LoadFrom
進行實例化。
這種方法為您的應用程式增加了運行時靈活性,允許它們與程序集交互,而無需事先明確引用。
以上是如何載入和實例化僅知道其名稱和類別名稱的 .NET 組件?的詳細內容。更多資訊請關注PHP中文網其他相關文章!