static void Main(string[] args) { //Methode 1 - Déclaration d'un pointeur de fonction (grande portée) CalculatriceV1 add = AdditionV1; //Methode 2 - Declaration d'un pointeur de fonction (portée plus courte) CalculatriceV1 Soustraction = delegate(double nb1, double nb2) { return(nb1 - nb2); }; //Methode 3 - Declaration d'un nouveau délégué (portée tres courte) Action <double> AfficheV1 = (s) => Console.WriteLine("Resultat : {0}", s); //Utilisation du délégué AfficheV1 avec celui du add AfficheV1(add(7, 3)); //Idem mais avec la soustraction AfficheV1(Soustraction(7, 3)); //Declaration d'une deuxieme version située dans une autre classe CalculatriceV2 addV2 = Deleg.AdditionV2; //Utilisation de cette deuxieme version AfficheV1(addV2(7, 4)); //Suite du test dans une autre classe Deleg d = new Deleg(); }
private void start() { //Utilisation de AfficheV2 déclaré en haut AfficheV2(AdditionV2(1, 1)); //Utilisation de l'addition V1 dans la classe Program CalculatriceV1 addv1 = Program.AdditionV1; //Idem mais cette fois ci on utilise la version 2 - Méthode Basique -> appel de fonction AfficheV2(AdditionV2(1, 2)); //Idem mais cette fois ci en utilisant le délégué CalculatriceV2 addv2 = AdditionV2; //Utilisation du délégué déclaré au dessus AfficheV2(addv2(1, 3)); }