Функции как параметры метода. (реализация с помощью делегатов) - 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();