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