Какую именно ошибку вы получаете? Для доступа к методу stati c необходимо указать имя класса. И все соответствующие методы должны быть public
в классе.
public class Program
{
public static void Main(string[] args)
{
Console.WriteLine("Working on Delegate");
Console.WriteLine("-------------------");
double resultatAddition;
resultatAddition = Calcul.ExecuterOperationDeMath(Calcul.Additionner, 123, 43);
Console.WriteLine(resultatAddition);
}
public class Calcul
{
// 1- Creation delegate:
public delegate double OperationDeMath(double a, double b);
// 2- Declaration methode Additionner du meme type que le delegate.
public static double Additionner(double a, double b) { return a + b; }
// 2- Declaration d'une methode Soustraction du meme type que le delegate.
public static double Soustraction(double a, double b) => a + b;
// 3- Utilisation delegate:
public static double ExecuterOperationDeMath(OperationDeMath operationAEffectuer, double a, double b)
{
return operationAEffectuer(a, b);
}
}
}
Демо: https://dotnetfiddle.net/9RUXHc
Эти проблемы касаются модификаторов доступа, и Дон на самом деле не имеет ничего общего с делегатами.
NB. Как уже упоминали другие, также неясно, почему класс Calcul
вложен в Program
. Это относительно необычно и обычно не нужно. Но это не имеет прямого отношения к заданному вами вопросу.