首頁 >後端開發 >C++ >如何在不修改供應商程序集的情況下從外部組件存取內部類別?

如何在不修改供應商程序集的情況下從外部組件存取內部類別?

DDD
DDD原創
2024-12-25 05:44:21793瀏覽

How Can I Access Internal Classes from an External Assembly Without Modifying the Vendor Assembly?

從外部程式集存取內部類別

在外部程式集需要存取供應商提供的內部類型物件的情況下集會時,困境就出現了。本文探討如何在不修改供應商程序集的情況下克服這項挑戰。

困境

考慮以下場景:外部程序集包含由中的方法傳回的物件供應商大會。然而,這個物件實際上是一個內部類別的實例,其欄位和方法無法從外部組件存取。

解決方案:InternalsVisibleTo 屬性

透過預設情況下,內部成員只能在定義它們的程式集中存取。但是,「朋友」程式集有一個例外。

要授予外部程序集(「朋友」程序集)對內部成員的存取權限,請將[程序集:InternalsVisibleTo] 屬性新增至以下程序集的AssemblyInfo.cs 檔案中:供應商程序集。

此屬性允許外部程序集存取供應商程序集的內部成員,就好像它們是其自身的內部成員一樣程序集。

注意:此解決方案僅適用於測試目的,因為它將內部成員公開給外部程序集。

以上是如何在不修改供應商程序集的情況下從外部組件存取內部類別?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

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