Не могу создать delegate к функциям типа long MyFunction(string,integer) - C#

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

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

ребята , может кто-то из вас может мне помочь . мне срочно надо сдать работу , а я толком не поняла тему и не знаю как это сделать. есть задание:создать delegate к функциям , получающим string и integer как аргументы и возвращающим long.создать класс по имени someclass который создает delegate и демонстрирует функцию calc(функцию calc создать отдельно). и вызвать calc при помощи delegate. кто-то в этом что-то понимает и может мне помочь? пожалуйста

Решение задачи: «Не могу создать delegate к функциям типа long MyFunction(string,integer)»

textual
Листинг программы
  //декларация сигнатуры делегата YourDelegate
  public delegate long YourDelegate(string sParam,int intParam);
 
  public class SomeClass
  {
    //переменные принято объявлять закрытыми
    private YourDelegate d;
    //и создавать для них свойства, 
    //через которые можно только считывать значения из внешнего кода
    public YourDelegate D
    { 
      get {return d;} 
    }
 
    //функция, которую нужно вызвать через делегат
    //можешь попробовать изменить тут порядок или тип параметров
    //а так же возвращаемого результата и увидишь что скажет компилятор после этого ;)
    //правда не здесь, а в строке инициализации переменной-делегата :)
    public long Calc(string sParam,int intParam)
    { 
      //какой то код этого метода
      //эту строку добавил, что бы не было ошибки компиляции, а так, конечно же, она может быть другой
      return 0;
    }
 
    //конструктор класса
    public SomeClass()
    {
      //инициализируем переменную-делегат методом Calc
      d=new YourDelegate(Calc);
      //ну и вызываем этот метод через только что созданную переменную-делегат
      d("some text",12345);
    }
  }

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


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

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

9   голосов , оценка 3.667 из 5
Похожие ответы