ホームページ > バックエンド開発 > C++ > リフレクションを使用して文字列から C# クラス参照を取得するにはどうすればよいですか?

リフレクションを使用して文字列から C# クラス参照を取得するにはどうすればよいですか?

Linda Hamilton
リリース: 2025-01-14 10:24:43
オリジナル
252 人が閲覧しました

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 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート