ホームページ > バックエンド開発 > C++ > C#の反射を使用してプライベートメソッドにアクセスするにはどうすればよいですか?

C#の反射を使用してプライベートメソッドにアクセスするにはどうすればよいですか?

DDD
リリース: 2025-01-25 05:17:09
オリジナル
550 人が閲覧しました

How Can I Access Private Methods Using Reflection in C#?

リフレクションを活用してプライベートC#メソッドを呼び出すコードスニペットは

を使用して、名前でメソッドを見つけます。 ただし、デフォルトでは、プライベートメンバーを除外します。プライベートな方法を含めるには、

を呼び出すときは、特定の

を組み込む必要があります。 GetMethod() GetMethod()BindingFlags検索に非公開(プライベート)メソッドを含めることを保証しますが、GetMethod()は検索をインスタンスメソッドに制限します。 この組み合わせは、

が現在のクラスインスタンス内で目的のプライベートメソッドを正しく識別することを保証します。
MethodInfo dynMethod = this.GetType().GetMethod("Draw_" + itemType, 
BindingFlags.NonPublic | BindingFlags.Instance);
dynMethod.Invoke(this, new object[] { methodParams });
ログイン後にコピー
メソッド検索のカスタマイズの詳細については、

列挙のC#ドキュメントを参照してください。 このドキュメントでは、メソッド、フィールド、その他のクラスメンバーを介して検索を改善するための利用可能なすべてのフラグを包括的にリストします。

以上がC#の反射を使用してプライベートメソッドにアクセスするにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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