首頁 >後端開發 >C++ >如何使用反射在 C# 中檢索類別參考?

如何使用反射在 C# 中檢索類別參考?

Mary-Kate Olsen
Mary-Kate Olsen原創
2025-01-14 10:12:43704瀏覽

How Can I Retrieve a Class Reference in C# Using Reflection?

使用反射以名稱存取 C# 類別

C# 反射提供了使用字串名稱存取類別的機制。這對於與類別動態互動而不需要直接引用至關重要。 這個過程的核心在於取得類別引用,以便後續呼叫其方法。

Type.GetType()方法是關鍵。它接受一個字串(類別名)並傳回一個表示該類別的 Type 物件。 例如,要取得名為「FooClass」的類別的參考:

<code class="language-csharp">Type t = Type.GetType("FooClass");</code>

有了 Type 對象,您就可以使用 GetMethod()Invoke() 呼叫靜態方法。 說明性範例:

<code class="language-csharp">MethodInfo method = t.GetMethod("MyMethod", BindingFlags.Static | BindingFlags.Public);
method.Invoke(null, null);</code>

BindingFlags.Static 表示方法是靜態的; BindingFlags.Public 指定它是可公開存取的。

此方法的工作原理是假設該類別駐留在目前程式集中。 更複雜的場景,例如從外部程序集或不同來源存取類,需要更複雜的方法,如替代解決方案中詳述。

以上是如何使用反射在 C# 中檢索類別參考?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

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