使用反射以名稱存取 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中文網其他相關文章!