static void Main(string[] args) { ////Funzionalita.EserciziTipo(); ////Esercitazione 1 ////Cerchio //IFileSerializible figura1 = new Cerchio() //{ // Nome = "Cerchio1", // Centro = 0d, // Raggio = 3d //}; //figura1.LoadFromFile("The File"); //figura1.SaveToFile("The File"); //_ = figura1 is Cerchio; //_ = figura1 is IFileSerializible; ////double area1 = figura1.CalcoloArea(); ////Console.WriteLine("Area: " + area1); ////figura1.StampaAreaEInfo(); ////Rettangolo //Rettangolo figura2 = new Rettangolo() //{ // Nome = "Rettangolo1", // Base = 5d, // Altezza = 7d //}; //double area2 = figura2.CalcoloArea(); ////Console.WriteLine("Area: " + area2); ////figura2.StampaAreaEInfo(); ////Triangolo //Triangolo figura3 = new Triangolo() //{ // Nome = "Triangolo1", // Base = 4d, // Altezza = 3d //}; ////double area3 = figura3.CalcoloArea(); ////Console.WriteLine("Area: " + area3); ////figura3.StampaAreaEInfo(); ////Funzionalita.EsercizioInterfacce(); //IFileSerializible[] figure = { figura1, figura2, figura3 }; Somma somma = new Somma(Funzionalita.MySum); int risultato = somma(1, 2); int risultato2 = Funzionalita.MySum(1, 2); }
static void Main(string[] args) { Funzionalita.EsercizioTipo(); //Lo posso richiamare così perché è statico Somma somma = new Somma(Funzionalita.MiaSomma); int risultato = Funzionalita.MiaSomma(1, 2); Funzionalita.DemoEventi(); }
static void Main(string[] args) { //Funzionalita.EsercizioTipo(); //Funzionalita.Esercitazioni(); //delegate //associo a somma il metodo mysum che deve avere lo stesso tipo di ritorno e lo stesso numero e tipo dei parametri Somma somma = new Somma(Funzionalita.MySum); int risultato = somma(1, 2); int risultato2 = Funzionalita.MySum(1, 2); }
delegate int Somma(int primoNum, int secondoNum);//definisco la classe delegate somma //accetta come ingresso il metodo somma con questa firma static void Main(string[] args) { //Console.WriteLine("Hello World!"); //Funzionalita.EseciziTipo(); // Funzionalita.Esercizione(); // Funzionalita.EsercizioInterfacce(); Somma somma = new Somma(Funzionalita.MySum); //Somma somma2 = new Somma(Funzionalita.MySum3); int risultato = somma(1, 2); }
static void Main(string[] args) { int ris, n1, n2; Somma somma = DelegateSomma; ///ripristina Console.WriteLine("Digiti il primo numero"); n1 = int.Parse(Console.ReadLine()); Console.WriteLine("Digiti il secondo numero"); n2 = int.Parse(Console.ReadLine()); ris = somma(n1, n2); Console.WriteLine(ris); Console.ReadLine(); }
static void Main(string[] args) { //Funzionalta.EserciziSulTipo(); //Funzionalta.FormeGeometriche(); //Funzionalta.Interf(); //Funzionalta.FormeGeometriche2(); //La uso come classe e le passo una funzione con la stessa firma Somma somma = new Somma(Funzionalta.MySum); //Somma somma2 = new Somma(Funzionalta.MySum3); da errore perchè ha tre parametri int risultato = somma(1, 2); int risultato2 = Funzionalta.MySum(1, 2); }
static void Main(string[] args) { // Instantiate the delegate. Del handler = DelegateMethod; Somma sum = DelegateSomma; sottrazione Sottrazione = DelegateSottr; handler("Test"); int ris = sum(1, 2); Message m = new Message(); m.Print("Message sent"); System.Console.ReadLine(); }
static void Main(string[] args) { //Funzonalità.EserciziTipo(); // Funzonalità.EserciziClassi(); //Funzonalità.EsercizioInterfacce(); //Funzonalità.Esercitazione(); //abbiamo associato alla variabile somma il metodo mysum Somma somma = new Somma(Funzonalità.MySum); int risultato = somma(1, 2); Console.WriteLine($"Il risultato è {risultato}"); }
//static void DoQuattro() //{ // Calcolatrice calcolatrice = new Calcolatrice(); // calcolatrice.Uno(); // calcolatrice.Aggiungi(); // calcolatrice.Cinque(); // Console.WriteLine(calcolatrice.Totale().ToString()); // calcolatrice.Dividi(); // calcolatrice.Tre(); // Console.WriteLine(calcolatrice.Totale().ToString()); // calcolatrice.Cinque(); // calcolatrice.Moltiplica(); // calcolatrice.Tre(); // Console.WriteLine(calcolatrice.Totale().ToString()); // Console.ReadLine(); //} //static void DoCinque() //{ // Calcolatrice calcolatrice = new Calcolatrice(); // Somma somma = new Somma(); // Differenza differenza = new Differenza(); // Prodotto prodotto = new Prodotto(); // Divisione divisione = new Divisione(); // calcolatrice.AddCifra(1); // calcolatrice.Operazione(somma); // calcolatrice.AddCifra(5); // Console.WriteLine(calcolatrice.Totale().ToString()); // calcolatrice.Operazione(divisione); // calcolatrice.AddCifra(3); // Console.WriteLine(calcolatrice.Totale().ToString()); // calcolatrice.AddCifra(5); // calcolatrice.Operazione(prodotto); // calcolatrice.AddCifra(3); // Console.WriteLine(calcolatrice.Totale().ToString()); // Console.ReadLine(); //} static void DoSei() { Calcolatrice calcolatrice = new Calcolatrice(); Somma somma = new Somma(); Differenza differenza = new Differenza(); Prodotto prodotto = new Prodotto(); Divisione divisione = new Divisione(); ShiftDestro shiftDestro = new ShiftDestro(); calcolatrice.AddCifra(1); calcolatrice.Operazione(somma); calcolatrice.AddCifra(5); Console.WriteLine(calcolatrice.Totale().ToString()); calcolatrice.Operazione(divisione); calcolatrice.AddCifra(3); Console.WriteLine(calcolatrice.Totale().ToString()); calcolatrice.AddCifra(5); calcolatrice.Operazione(prodotto); calcolatrice.AddCifra(3); Console.WriteLine(calcolatrice.Totale().ToString()); calcolatrice.Operazione(shiftDestro); calcolatrice.AddCifra(1); Console.WriteLine(calcolatrice.Totale().ToString()); calcolatrice.Operazione(somma); calcolatrice.AddCifra(3); calcolatrice.AddCifra(5); calcolatrice.Back(); Console.WriteLine(calcolatrice.Totale().ToString()); Console.ReadLine(); }
static void Main(string[] args) { //Console.WriteLine("Hello World!"); //Funzionalita.EsercizioTipo(); //delegate Somma somma = new Somma(Funzionalita.MiaSomma); Somma somma2 = new Somma(Funzionalita.ReturnZero); //Somma somma3 = new Somma(Funzionalita.Dividi); dividi non rispetta il tipo di ritorno, non posso usare il delegate e mi dà errore int risultato = somma(1, 2); //PASSO PER UN PUNTATORE AL METODO //equivalente int risultato3 = Funzionalita.MiaSomma(1, 2); //CHIAMO DIRETTAMENTE SENZA USARE IL DELEGATE int risultato2 = somma2(3, 7); Console.WriteLine("Risultato 1 : " + risultato + " equivalente a " + risultato3); Console.WriteLine("Risultato 2 : " + risultato2); Console.Clear(); Funzionalita.DemoEventi(); }
static void Main(string[] args) { //Funzionalita.EsercizioTipo(); //Delegate Somma somma = new Somma(MiaSomma); int risultato = somma(1, 2); Somma somma2 = new Somma(ReturnZero); Somma somma3 = new Somma(Dividi); int ris = somma3(4, 2); MiaSomma(1, 2); //qui faccio la chiamata senza passare dal delegate Console.WriteLine($"Somma: {risultato} e Divisione: {ris}"); Console.Clear(); DemoEventi(); }