Como obter Array.IndexOf (string , string) MethodInfo?

Como obter MethodInfo para Array.IndexOf(string[], string) ?

Eu tento usar este código, mas não funciona.

 typeof(Array).GetMethod("IndexOf", BindingFlags.Public | BindingFlags.Static, null, new Type[] { typeof(string[]), typeof(string) }, null); 

Use BindingFlags.Public | BindingFlags.Static BindingFlags.Public | BindingFlags.Static

Editar:

O comentário abaixo está correto, o problema é que o método IndexOf é genérico – existe apenas um Array.IndexOf(T[], T) . Para conseguir isso é o que funcionou para mim:

 var indexOfGeneric = typeof(Array).GetMethods(BindingFlags.Public | BindingFlags.Static) .First(m => m.Name == "IndexOf" && m.GetParameters().Length == 2 && m.IsGenericMethod ); 

Encontrei este post que parece conseguir o que você está pedindo;

http://blog.functionalfun.net/2009/10/getting-methodinfo-of-generic-method.html

O uso da amostra seria o seguinte;

 var m = SymbolExtensions.GetMethodInfo(() => Array.IndexOf(null, null)); 

Dessa forma, você obtém o MethodInfo de IndexOf(String[], String) , em vez de IndexOf(T[], T) .