GetType().GetMethods は BindingFlag を使用するとメソッドを返しません 質問する

GetType().GetMethods は BindingFlag を使用するとメソッドを返しません 質問する

そこで、特定の属性を持つクラス内のすべてのプライベートメソッドを取得しようとしています。

this.GetType().GetMethods()

これは 18 個のメソッドを返しますが、それらはすべてパブリックです。そこで、次のような Binding フラグを使用するように変更してみました。

this.GetType().GetMethods(BindingFlags.NonPublic);

これにより、結果がゼロで返されます。その後、いろいろ試してみましたが、オーバーライドが機能しませんGetMethods(BindingFlags.x)

this.GetType().GetMethods(BindingFlags.Default);
this.GetType().GetMethods(BindingFlags.Public);

これらすべての結果はゼロです。何が間違っているのでしょうか?

ベストアンサー1

合格すべきだバインディングフラグ.インスタンスインスタンスメソッドを一致させるには:

this.GetType().GetMethods(BindingFlags.Instance | BindingFlags.NonPublic);

BindingFlags.Staticインスタンス メソッドと静的メソッドの両方が必要な場合は、フラグを追加することもできます。

おすすめ記事