Это скорее вопрос синтаксиса C #, нежели реальная проблема, требующая решения.Скажем, у меня есть метод, который принимает делегата в качестве параметра.Допустим, у меня определены следующие методы:
void TakeSomeDelegates(Action<int> action, Func<float, Foo, Bar, string> func)
{
// Do something exciting
}
void FirstAction(int arg) { /* something */ }
string SecondFunc(float one, Foo two, Bar three){ /* etc */ }
Теперь, если я хочу вызвать TakeSomeDelegates
с FirstAction
и SecondFunc
в качестве аргументов, насколько я могу судить, мне нужно что-то сделатькак это:
TakeSomeDelegates(x => FirstAction(x), (x,y,z) => SecondFunc(x,y,z));
Но есть ли более удобный способ использовать метод, который соответствует требуемой подписи делегата, без написания лямбды?В идеале что-то вроде TakeSomeDelegates(FirstAction, SecondFunc)
, хотя, очевидно, это не компилируется.