首頁 > 後端開發 > C++ > 如何載入和實例化僅知道其名稱和類別名稱的 .NET 組件?

如何載入和實例化僅知道其名稱和類別名稱的 .NET 組件?

Susan Sarandon
發布: 2025-01-19 09:11:09
原創
236 人瀏覽過

How Can I Load and Instantiate a .NET Assembly Knowing Only Its Name and Class Name?

動態載入並建立 .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中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板