Скажем, у меня есть сборка DLL, содержащая автоматически сгенерированный класс с двумя методами:
public class AutoGeneratedClass
{
public int DoSomething(bool forReal) { ??? }
public void DoSomethingElse(string whatever) { ??? }
}
Методы могут быть любыми, правда. Выше приведена только иллюстрация.
Какой код мне нужно генерировать вместо ??? выше, чтобы он автоматически упаковывал параметры вызова и отправлял их одному универсальному методу другого класса, который затем фактически обрабатывал бы вызов и возвращал результат?
public class GenericClass
{
public ??? GenericHandler(???) { ??? }
}
Полагаю, я ищу что-то, что работает как Expression<Func<...>>
в LINQ, которое компилируется в структуру данных, которую можно отправлять куда угодно и разбирать там.
Я хотел бы сохранить прототипы исходного метода такими же, как если бы они были обычными локально реализованными методами, однако, чтобы вызывающий AutoGeneratedClass не был мудрее.
Если это не может быть достигнуто, каковы мои варианты?
Спасибо!