Search code examples
.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.