Advertisement
Caminhoneiro

Concatenate delegates example

Jan 8th, 2019
113
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 1.46 KB | None | 0 0
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Linq;
  4. using System.Text;
  5. using System.Threading.Tasks;
  6.  
  7. namespace DelegatesAndEvents
  8. {
  9.     public delegate int WorkPerformedHandler(int hours, WorkType workType);
  10.  
  11.     class Program
  12.     {
  13.         static void Main(string[] args)
  14.         {
  15.             WorkPerformedHandler del1 = new WorkPerformedHandler(WorkPerformed1);
  16.             WorkPerformedHandler del2 = new WorkPerformedHandler(WorkPerformed2);
  17.             WorkPerformedHandler del3 = new WorkPerformedHandler(WorkPerformed3);
  18.  
  19.             //+= concatenate
  20.             del1 += del2 + del3;
  21.  
  22.             int finalHours = del1(10, WorkType.Golf);
  23.             Console.WriteLine(finalHours);
  24.              
  25.             Console.Read();
  26.         }
  27.        
  28.  
  29.         static int WorkPerformed1(int hours, WorkType workType)
  30.         {
  31.             Console.WriteLine("WorkPerformed1 called " + hours.ToString());
  32.             return hours + 1;
  33.         }
  34.  
  35.         static int WorkPerformed2(int hours, WorkType workType)
  36.         {
  37.             Console.WriteLine("WorkPerformed2 called " + hours.ToString());
  38.             return hours + 2;
  39.         }
  40.  
  41.         static int WorkPerformed3(int hours, WorkType workType)
  42.         {
  43.             Console.WriteLine("WorkPerformed3 called " + hours.ToString());
  44.             return hours + 3;
  45.         }
  46.     }
  47.  
  48.     public enum WorkType
  49.     {
  50.         GoToMeetings,
  51.         Golf,
  52.         GenerateReports
  53.     }
  54. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement