Exemple #1
0
 public static void GørNogetPåTid(GørNogetPåTidSuccesDelegate færdig, GørNogetPåTidFejlDelegate fejl)
 {
     try
     {
         int t = new Random().Next(0, 1000);
         System.Threading.Thread.Sleep(t);
         færdig?.Invoke(t);
     }
     catch (Exception ex)
     {
         fejl?.Invoke(ex);
     }
 }
Exemple #2
0
        public static void Test()
        {
            // Oprettelse af delegate-objekter
            GørNogetPåTidSuccesDelegate s = new GørNogetPåTidSuccesDelegate(VisTid);
            GørNogetPåTidFejlDelegate   f = new GørNogetPåTidFejlDelegate(VisFejl);

            CallBackDemo.GørNogetPåTid(s, f);

            // Lad compileren selv skabe delegate objekter
            CallBackDemo.GørNogetPåTid(VisTid, VisFejl);

            // Brug lambda (anonyme metoder) - og lad compileren selv skabe delegate objekter
            CallBackDemo.GørNogetPåTid(
                ms => Console.WriteLine("Det tog " + ms + " ms"),
                ex => Console.WriteLine("Hov - fejl - " + ex.Message)
                );
        }