首頁 > 後端開發 > C++ > 如何使用反射從字串中取得 C# 類別引用?

如何使用反射從字串中取得 C# 類別引用?

Linda Hamilton
發布: 2025-01-14 10:24:43
原創
216 人瀏覽過

How Can I Get C# Class References from Strings Using Reflection?

使用反射在 C# 中進行動態類別存取

C# 開發人員經常遇到需要基於字串表示的動態類別存取的場景。 本文示範如何利用反射從字串中檢索類別引用。

假設您有一個表示類別名稱的字串(例如“MyClass”),並且您需要呼叫該類別中的方法。反思提供了解決方案。

核心功能依賴Type.GetType方法。 這是一個例子:

<code class="language-csharp">using System;
using System.Reflection;

public class Example
{
    public static void Main(string[] args)
    {
        Type type = Type.GetType("MyClass"); // Get the Type object
        MethodInfo method = type.GetMethod("MyMethod", BindingFlags.Public | BindingFlags.Static); // Get the method
        method.Invoke(null, null); // Invoke the method
    }
}

public class MyClass
{
    public static void MyMethod()
    {
        Console.WriteLine("MyMethod called!");
    }
}</code>
登入後複製

此程式碼使用 Type.GetType 從字串中取得 Type 物件。 GetMethod 然後檢索指定的靜態方法,Invoke 執行它。

請注意,此範例使用公共靜態方法。 調整 BindingFlags 允許存取其他方法類型(例如,BindingFlags.Instance | BindingFlags.NonPublic 用於私有實例方法)。

理解 Type.GetType 和其他反射方法可以解鎖與 C# 類別的動態交互,為您的應用程式提供顯著的靈活性。

以上是如何使用反射從字串中取得 C# 類別引用?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

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