ホームページ >バックエンド開発 >C++ >C# でリフレクションを使用して静的メソッドを呼び出すにはどうすればよいですか?

C# でリフレクションを使用して静的メソッドを呼び出すにはどうすればよいですか?

Linda Hamilton
Linda Hamiltonオリジナル
2024-12-28 19:22:10997ブラウズ

How Can I Invoke Static Methods Using Reflection in C#?

リフレクションを使用した静的メソッドの呼び出し

非静的メソッドを扱う場合、開発者は簡単にリフレクションを利用してクラスのインスタンスを作成し、そのメソッドを呼び出すことができます。ただし、メソッドが静的である場合、このアプローチには変更が必要です。

このシナリオでは、リフレクションを使用して、"mySolution.Macros" 名前空間内の静的クラスからすべての "Run" メソッドを呼び出すことを目的としています。

ここで重要なのは、静的メソッドの場合、MethodInfo.Invoke の最初の引数は無視できることを覚えておくことです。したがって、静的クラスを反復処理する場合は、単に tempClass.GetMethod("Run").Invoke(null, null); を呼び出すことができます。

静的メソッドのみを呼び出すようにするには、以下に示すように BindingFlags.Static を GetMethod 呼び出しに追加します。

tempClass.GetMethod("Run", BindingFlags.Public | BindingFlags.Static).Invoke(null, null);

このアプローチに従ってください。を使用すると、開発者は指定された名前空間内のクラスから静的メソッドを効果的に呼び出すことができ、メソッドの実行に対する柔軟性と制御が提供されます。

以上がC# でリフレクションを使用して静的メソッドを呼び出すにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。