そこで、特定の属性を持つクラス内のすべてのプライベートメソッドを取得しようとしています。
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
インスタンス メソッドと静的メソッドの両方が必要な場合は、フラグを追加することもできます。