Как мне можно присвоить Action'у методы (разные) с разным кол-вом параметров и при этом параметры разные.
Пример:
void f1(string s, int i) {Console.Write(s);}
и
double f2(double d, float f) {return d;}
Как в простой Action передать сначало первый метод, а потом второй?
По поводу заголовка....
покатит?
private Action<string, object[]> _sampleAction;
public void SampleMethod(string s, params object[] args)
{
if(sampleAction!=null) _sampleAction(s,args);
}
А это? Не совсем екшн, но...)
public delegate void MyDelegate(IEnumerable<string> param1, string param2, int param3 = 1);
Не уверен с экшнами такой синтаксис прокатит или нет.
По поводу вопроса в самом вопросе: вообще не вкурил что ты хочешь получить. Но, надеюсь, заголовок построен правильно)
Если я правильно понял, то вы хотите этого:
var s="";
var i=0;
Action act=()=>f1(s,i);
var d=0d;
var f=0f;
float result;
Action act2=()=>result=f2(d,f);
Через замыкание в лямбду передают аргументы из метода, а потом выполняется какое-то действие.
Основные этапы разработки сайта для стоматологической клиники
Продвижение своими сайтами как стратегия роста и независимости