Я пытаюсь написать метод, который возвращает класс methodinfo из заданного ввода, с целью создания общей версии этого метода ... т.е.
var m = myClass.GetType().GetMethod("SomeMethod").MakeGenericMethod(...blahblah..);
Это работает и все хорошоза исключением того, что у меня есть строковый литерал имени моего метода, поэтому, если в процессе перефакторинга мне случится переименовать один из используемых мной методов, я не узнаю до времени выполнения.
ЧтоЯ хотел бы сделать, это создать вспомогательный метод, который я могу передать лямбу, которая определяет группу методов, таким образом, я бы получил проверку времени компиляции имени метода, не говоря уже о intellisense и т. Д ... т. Е.
MethodInfo mi = myClass.GetMethodInfo( o => o.SomeMethod );
m = mi.MakeGenericMethod(..blah...);
Но мне не удалось выяснить сигнатуру метода помощника ...
public MethodInfo GetMethodInfo(Func<MyClass,XXXX> lambda){ //What is my XXXX ? }