Какие типы должны быть в массиве типов для Type.GetMethod, когда параметр является универсальным?
Если я хочу вызвать универсальный метод через отражение, я могу легко использоватьэтот техника, если:
Метод можно отличить только от других по своим параметрам.У метода есть параметр, тип которого является одним из параметров типа метода.Как мне указать универсальный параметр вType[]
массив при вызовеType.GetMethod(string, Type[])
?
Пример:
public class Example
{
//This is the one I want to call.
public void DoSomething<T>(T t) { ... }
public void DoSomething(Foo foo) { ... }
public void CallDoSomething(Type type, object value)
{
MethodInfo method = typeof(Example)
.GetMethod("DoSomething", new Type[] {/* what do i put here? */ });
MethodInfo generic = method.MakeGenericMethod(type);
generic.Invoke(this, value);
}