クラスにはプライベート メソッドのグループがあり、入力値に基づいて 1 つを動的に呼び出す必要があります。呼び出しコードとターゲット メソッドはどちらも同じインスタンスにあります。コードは次のようになります。
MethodInfo dynMethod = this.GetType().GetMethod("Draw_" + itemType);
dynMethod.Invoke(this, new object[] { methodParams });
この場合、GetMethod()
プライベート メソッドは返されません。プライベート メソッドを見つけるには、何BindingFlags
を指定する必要がありますか?GetMethod()
ベストアンサー1
オーバーロードされたコードを使用するようにコードを変更するだけですバージョンGetMethod
BindingFlags を受け入れる:
MethodInfo dynMethod = this.GetType().GetMethod("Draw_" + itemType,
BindingFlags.NonPublic | BindingFlags.Instance);
dynMethod.Invoke(this, new object[] { methodParams });