I have an IEnumerable
, and I want to call the Enumerable.Contains method by reflection. I\'m just struggling to get the syntax right. Here\'s what I
What is the correct way to get the MethodInfo?
You have to find the generic method - which is unfortunately a bit of a pain - and then construct that with the appropriate arguments. In this case you know that there are only 2 Contains
overloads, and the one you want has two arguments, so you can use:
var method = typeof(Enumerable).GetMethods()
.Where(m => m.Name == "Contains")
.Single(m => m.GetParameters().Length == 2)
.MakeGenericMethod(typeof(T));
You should then be able to invoke it appropriately.