Функции как параметры метода. (реализация с помощью делегатов) - C#
Формулировка задачи:
Есть две функции, с разными количествами параметров и с разными типами этих параметров и есть метод который генерирует график каждой функции.
Нужно передать эти две функции как параметры методу который отрисовывает график.
Исходник:
С механизмом делегатов пока не сильно дружу, с функциями где число и типы параметров одинаковы, такую задачку сделал бы, а тут что-то пока не разберусь. Буду благодарен за помощь
//функции F(x), G(x) public static double F(double x, List<PointFunc> points, int degree) {...} public static double G(double x, double [] output) {...} //метод изображающий график public void GenerateGraph(double xScale, double yScale, double xOffset, double yOffset, double xLabelIncrement, double yLabelIncrement, int width, int height) { ..... y = Counter.G(x, Counter.converter(polynomcoeffs.Coefficients)) ;//1 вариант реализации: функция G(x) ..... y = Counter.F(x, Counter.converter(points), a) ;//2 вариант реализации: функция F(x) ..... } //обработчики кнопок private void DrawGraphFButton_Click(object sender, EventArgs e) { GenerateGraphF(0.1, 0.1, 0, 0, 100, 100, panel1.Width, panel1.Height); } private void DrawGraphGButton_Click(object sender, EventArgs e) { GenerateGraphG(0.1, 0.1, 0, 0, 100, 100, panel1.Width, panel1.Height); }
Решение задачи: «Функции как параметры метода. (реализация с помощью делегатов)»
textual
Листинг программы
y = function();
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д