.netsystem.reflectionmethodinfoinvokemember

MethodInfo.Invoke vs Type.InvokeMember?


What is the difference between the MethodInfo.Invoke() and Type.InvokeMember() methods?

Which should be used in which scenarios?

Which is the preferred way to invoke a method?


Solution

  • Depending upon how you use it, MethodInfo.Invoke could be faster. When you call Type.InvokeMember under the covers a MethodInfo is retrieved and then invoked. Retrieving a MethodInfo is expensive. If you are calling the same method multiple times, saving the MethodInfo in a variable and invoking it from the variable with save time.