Делегат, как вызвать ссылку на функцию в Мейне - C#

Узнай цену своей работы

Формулировка задачи:

Пробую работу с делегатами. Немного не пойму, как с ними работать. Если пишу все в одном классе(методы static), работает. Создаю отдельный класс с методами и все - затык.
namespace ObjectSort
{
    delegate double Calculation(int a, int b);
 
    class SimpleCalculator
    {

       int Sum(int a, int b)
                {
                    return a + b;
                }
 
       int Sub(int a, int b)
                {
                    return a - b;
                }
 
       double Multiplication(double a, double b)
                {
                    return a / b;
                }
 
       int Devide(int a, int b)
                {
                    return a * b;
                }
    }
}
namespace ObjectSort
{
    class Program
    {
        delegate double Calculation(int a, int b);
 
        static void Main(string[] args)
        {
            Calculation calc = new Calculation(Sum);
            //SimpleCalculator calc = new SimpleCalculator();
            Console.ForegroundColor = ConsoleColor.Cyan;
            double result;
            result = calc.Sum(2, 6);
            Console.WriteLine("Сумма равна: " + result);
            Console.Read();
        }
    }
}

Решение задачи: «Делегат, как вызвать ссылку на функцию в Мейне»

textual
Листинг программы
class SimpleCalculator
{
    public static int Sum(int a, int b)
    {
        return a + b;
    }
}
 
...
 
delegate int Calculation(int a, int b);
 
public static void Main(string[] args)
{
    Calculation calc = new Calculation(SimpleCalculator.Sum);
    Console.WriteLine(calc(2,6));
}

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

8   голосов , оценка 4.25 из 5