static void Main(string[] args) { // Enten BeregnDelegate s = new BeregnDelegate(Plus); int res = Beregner(1, 1, s); Console.WriteLine(res); // eller BeregnDelegate s1 = Minus; int res2 = Beregner(1, 1, s1); Console.WriteLine(res2); // eller int res3 = Beregner(1, 1, Gange); Console.WriteLine(res3); // Prøv også at skabe en metode FindTilfældigFunktion, der returnerer en // Beregn-delegate med en af de fire metoder(plus, minus, gange eller divider) // afhængig af det konkrete millisekund(under 250 = plus, 250 - 500 = minus osv). // kald til funktionen kan se således ud: // Find tilfældig var f = FindTilfældigFunktion(); int res4 = f(5, 5); // eller // int res4 = FindTilfældigFunktion()(5,5); Console.WriteLine(res4); }
static void Main(string[] args) { // Enten BeregnDelegate s = new BeregnDelegate(Plus); int res = Beregner(1, 1, s); Console.WriteLine(res); // eller BeregnDelegate s1 = Minus; int res2 = Beregner(1, 1, s1); Console.WriteLine(res2); // eller int res3 = Beregner(1, 1, Gange); Console.WriteLine(res3); // Find tilfældig var f = FindTilfældigFunktion(); int res4 = f(5, 5); // eller // int res4 = FindTilfældigFunktion()(5,5); Console.WriteLine(res4); }
static void Main(string[] args) { BeregnDelegate f = Plus; int res1 = Beregner(100, 1, f); int res = Beregner(3, 1, Minus); Console.WriteLine(res1); }
static void Main(string[] args) { int res = Beregner(2, 2, Plus); Console.WriteLine(res); res = Beregner(2, 0, Divider); Console.WriteLine(res); BeregnDelegate f1 = TilfaeldigFunktion(); res = f1(3, 4); Console.WriteLine(res); }
static void Main(string[] args) { BeregnDelegate s = new BeregnDelegate(Gange); int res = Beregner(1003, 1000054, s); Console.WriteLine(res); BeregnDelegate s1 = Minus; int res2 = Beregner(1, 1, s1); Console.WriteLine(res2); int res3 = Beregner(111111, 123456789, Gange); Console.WriteLine(res3.ToString()); }
static void Main(string[] args) { BeregnDelegate s = new BeregnDelegate(Plus); int res = Beregner(1, 1, s); // lægger sammen Console.WriteLine(res); int res1 = Beregner(1, 1, Plus); // lægger sammen Console.WriteLine(res1); BeregnDelegate s1 = Divider; int res2 = Beregner(4, 2, s1); // trækker fra Console.WriteLine(res2); var f = FindTilfældigFunktion(); int res4 = f(5, 5); Console.WriteLine(res4); }
// Dan en delegate kaldet Beregn, som kan bruges til at kalde en af ovennævnte funktioner, // og skab en metode Beregner der tager to heltal til beregning, samt en instans af en de- //legate, der henviser der den funktion der ønskes benyttes. Kald kan se således ud: public static int Beregner(int a, int b, BeregnDelegate funktion) { return(funktion(a, b)); }
public void TilføjBeregning(string navn, BeregnDelegate beregning) { beregninger.Add(navn, beregning); }
public void TilføjBeregning(string navn, BeregnDelegate funktion) { beregninger.Add(navn.ToLower(), funktion); }
public static int Beregner(int x, int z, BeregnDelegate funktion) { return(funktion(x, z)); }
public static int Beregner(int x, int y, BeregnDelegate regneMetode) { return(regneMetode(x, y)); }