static void StartMaskine(int antal, delegate_void nårDuErFærdigFunktion) { Console.WriteLine("Maskine starter"); // logik... // færdig... if (nårDuErFærdigFunktion != null) { nårDuErFærdigFunktion.Invoke(); } }
static void Main(string[] args) { // direkte Test1(); Test2(2); int res1 = Test3(5, 1); Console.WriteLine("---"); delegate_void d1 = new delegate_void(Test1); d1 += Test1; d1 += Test1; d1 += Test1a; d1 += Test1b; //Test1(); d1.Invoke(); Console.WriteLine("---"); Console.WriteLine(); delegate_voidint d2 = new delegate_voidint(Test2); Test2(54); d2.Invoke(6); Console.WriteLine(); delegate_intintint d3 = new delegate_intintint(Test3); Console.WriteLine(Test3(6, 7)); Console.WriteLine(d3.Invoke(6, 7)); Console.WriteLine(); StartMaskine(6, d1); Console.WriteLine(); for (int i = 0; i < 5; i++) { System.Threading.Thread.Sleep(150); delegate_void d4 = FindFunktion(); d4.Invoke(); } Console.WriteLine(); MinMaskine m = new MinMaskine(); m.LogFunktion = new delegate_voidstring(Test6); m.LogFunktion += Test5; m.LogFunktion += Console.WriteLine; m.LogFunktion += DebugSkriv; //m.LogFunktion += (t) => { System.Diagnostics.Debug.WriteLine(t); }; m.Start(); m.Stop(); // ny syntaks Console.WriteLine("********"); //delegate_void n1 = new delegate_void(Test1); delegate_void n1 = Test1; //StartMaskine(76, new delegate_void(Test1)); StartMaskine(76, Test1); //n1.Invoke(); n1(); }