MethodInfo.Invoke()
とType.InvokeMember()
メソッドの違いは何ですか?
どのシナリオでどれを使用する必要がありますか?
メソッドを呼び出すための推奨される方法はどれですか?
MethodInfo.Invoke()
とType.InvokeMember()
メソッドの違いは何ですか?
どのシナリオでどれを使用する必要がありますか?
メソッドを呼び出すための推奨される方法はどれですか?
メソッドまたはコンストラクターの呼び出しが一致している限り、どちらも同じはずですが、フィールド/プロパティを取得/設定する場合は InvokeMember を使用する必要があります。
詳細については、こちらのリンクを確認してください。
MethodBase.Invoke の例を参照してください
Type.InvokeMember の例を参照してください
使い方によっては、MethodInfo.Invoke
もっと速くなるかもしれません。Type.InvokeMember
カバーの下で呼び出すと、 aMethodInfo
が取得されてから呼び出されます。a の取得にMethodInfo
はコストがかかります。同じメソッドを複数回MethodInfo
呼び出す場合は、 を変数に保存し、変数から呼び出して時間を節約します。