Я хочу сохранить лямбды-объекты и выполнить их позже, используя отражение. Независимо от достоинств такого подхода, мне интересно, как заставить работать что-то вроде следующего.
Скажем, у меня есть разные функции, определенные как -
Func<string,bool> f1 = (i)=>i == "100";
Func<int,bool> f2 = (i)=>i == 100;
Могу ли я выполнить их во время выполнения, если получу все типы, задействованные во время выполнения (я не могу привести объект к Func и т. Д., Потому что я не знаю, какие типы задействованы), Могу ли я сделать что-то вроде следующего?
void RunFunc(Type param1, Type returnParam, object obj)
{
Type funcType = typeof(Func<,>).MakeGenericType(param1,returnParam);
var d = Delegate.CreateDelegate(funcType , obj,"Invoke");
d.DynamicInvoke();
}
Спасибо