首頁 後端開發 C++ 如何從組件和類型名稱動態實例化類別?

如何從組件和類型名稱動態實例化類別?

Jan 19, 2025 am 09:07 AM

How Can I Instantiate a Class Dynamically from its Assembly and Type Name?

運行時動態建立類別實例

只知道DLL名稱和類別名,無需在專案中新增組件引用,即可在執行時建立物件實例。此功能特別適用於插件系統或依賴注入等場景。

使用 Assembly.LoadFrom()

要將組件載入到記憶體中,請使用 Assembly.LoadFrom() 方法,並提供 DLL 檔案的路徑:

Assembly assembly = Assembly.LoadFrom("library.dll");
登入後複製

找 Type 物件

載入組件後,使用反射來定位特定類型:

Type type = assembly.GetType("Company.Project.Classname");
登入後複製

建立實例

最後,使用 Activator.CreateInstance() 建立該類型的物件實例:

object instanceOfMyType = Activator.CreateInstance(type);
登入後複製

處理未知 DLL 位置

如果您沒有 DLL 的絕對路徑,則可以依賴 .NET 類型解析機制:

object instanceOfMyType = Activator.CreateInstance("library.dll", "Company.Project.Classname");
登入後複製

此方法將自動搜尋各種位置,包括應用程式根目錄、system32 和 GAC,以尋找組件並解析類型。

高級訂製

如有必要,您可以透過實作自訂的 DLL 搜尋機制來增強此解決方案,以便搜尋特定目錄中的 DLL。這在您儲存預設類型解析機制未搜尋的其他組件的場景中,將提供更大的靈活性。

以上是如何從組件和類型名稱動態實例化類別?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn

熱門文章

兩個點博物館:邦格荒地地點指南
4 週前 By 尊渡假赌尊渡假赌尊渡假赌
倉庫:如何復興隊友
3 週前 By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island冒險:如何獲得巨型種子
3 週前 By 尊渡假赌尊渡假赌尊渡假赌

熱門文章

兩個點博物館:邦格荒地地點指南
4 週前 By 尊渡假赌尊渡假赌尊渡假赌
倉庫:如何復興隊友
3 週前 By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island冒險:如何獲得巨型種子
3 週前 By 尊渡假赌尊渡假赌尊渡假赌

熱門文章標籤

記事本++7.3.1

記事本++7.3.1

好用且免費的程式碼編輯器

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

強大的PHP整合開發環境

Dreamweaver CS6

Dreamweaver CS6

視覺化網頁開發工具

SublimeText3 Mac版

SublimeText3 Mac版

神級程式碼編輯軟體(SublimeText3)

c語言函數格式字母大小寫轉換步驟 c語言函數格式字母大小寫轉換步驟 Mar 03, 2025 pm 05:53 PM

c語言函數格式字母大小寫轉換步驟

Gulc:從頭開始建造的C庫 Gulc:從頭開始建造的C庫 Mar 03, 2025 pm 05:46 PM

Gulc:從頭開始建造的C庫

c語言函數返回值的類型有哪些?返回值是由什麼決定的? c語言函數返回值的類型有哪些?返回值是由什麼決定的? Mar 03, 2025 pm 05:52 PM

c語言函數返回值的類型有哪些?返回值是由什麼決定的?

c語言函數的定義和調用規則是什麼 c語言函數的定義和調用規則是什麼 Mar 03, 2025 pm 05:53 PM

c語言函數的定義和調用規則是什麼

C標準模板庫(STL)如何工作? C標準模板庫(STL)如何工作? Mar 12, 2025 pm 04:50 PM

C標準模板庫(STL)如何工作?

c語言函數返回值在內存保存在哪裡? c語言函數返回值在內存保存在哪裡? Mar 03, 2025 pm 05:51 PM

c語言函數返回值在內存保存在哪裡?

distinct用法和短語分享 distinct用法和短語分享 Mar 03, 2025 pm 05:51 PM

distinct用法和短語分享

c語言函數最大公約數最小公倍數是什麼 c語言函數最大公約數最小公倍數是什麼 Mar 03, 2025 pm 05:55 PM

c語言函數最大公約數最小公倍數是什麼

See all articles