Action D_For_reproduct_Functions;
D_For_reproduct_Functions += ReproductExp;
D_For_reproduct_Functions += ReproductArcSin;
D_For_reproduct_Functions += ReproductNormal;
D_For_reproduct_Functions += ReproductLaplasa;
D_For_reproduct_Functions += ReproductReley;
D_For_reproduct_Functions += ReproductVeibula;
Мне нужно что-то вроде такого
for (int i = 0; i < D_For_reproduct_Functions.Length; i++)
{
D_For_reproduct_Functions[i]();
KSKolvogorov();
//и тут в будущем KSPirsona
}
Ответ
Вы можете разобрать ваш делегат на составные части при помощи GetInvocationList(). Вот пример:
Action combined = () => Console.WriteLine("Func 1");
combined += () => Console.WriteLine("Func 2");
combined += () => Console.WriteLine("Func 3");
var actions = combined.GetInvocationList().Cast
Но раз вам такое понадобилось, возможно, вы делаете что-то неправильно. Думаю, вам реально вместо Action D_For_reproduct_Functions нужно List
List
D_For_reproduct_Functions.Add(ReproductExp);
D_For_reproduct_Functions.Add(ReproductArcSin);
D_For_reproduct_Functions.Add(ReproductNormal);
D_For_reproduct_Functions.Add(ReproductLaplasa);
D_For_reproduct_Functions.Add(ReproductReley);
D_For_reproduct_Functions.Add(ReproductVeibula);
for (int i = 0; i < D_For_reproduct_Functions.Count; i++)
{
D_For_reproduct_Functions[i]();
KSKolvogorov();
}
Комментариев нет:
Отправить комментарий