Exemple #1
0
 // The delegate is one of the parameters here
 public static void PromoteEmployees(List <Employee> lstEmployees, EligibleForPromotion eligibleForPromotion)
 {
     foreach (Employee employee in lstEmployees)
     {
         // Using the delegate function here.
         if (eligibleForPromotion(employee))
         {
             Console.WriteLine("Employee {0} Promoted", employee.Name);
         }
     }
 }
Exemple #2
0
        static void Main(string[] args)
        {
            Employee emp1 = new Employee()
            {
                ID         = 101,
                Name       = "Pranaya",
                Gender     = "Male",
                Experience = 5,
                Salary     = 10000
            };
            Employee emp2 = new Employee()
            {
                ID         = 102,
                Name       = "Priyanka",
                Gender     = "Female",
                Experience = 10,
                Salary     = 20000
            };
            Employee emp3 = new Employee()
            {
                ID         = 103,
                Name       = "Anurag",
                Experience = 5,
                Salary     = 30000
            };

            List <Employee> employees = new List <Employee>();

            employees.Add(emp1);
            employees.Add(emp2);
            employees.Add(emp3);

            // We are making the Promote method of Program the delegate for EligibleForPromotion
            Console.WriteLine("Promoting by Salary");
            EligibleForPromotion eligibleForPromotion = new EligibleForPromotion(Program.Promote);

            // Now we promote the employees, passing the new function delegate.
            Employee.PromoteEmployees(employees, eligibleForPromotion);

            // Lambda functions.
            Console.WriteLine("Promoting by years of experience");
            Employee.PromoteEmployees(employees, x => x.Experience > 5);
        }