示例#1
0
        static void Main(string[] args)
        {
            List <Employee> empl = new List <Employee>();

            empl.Add(new Employee()
            {
                ID = 101, Name = "sayali", salary = 20000, Experiance = 3, grade = "E1"
            });
            empl.Add(new Employee()
            {
                ID = 102, Name = "pooja", salary = 30000, Experiance = 5, grade = "E1"
            });
            empl.Add(new Employee()
            {
                ID = 103, Name = "mayuri", salary = 50000, Experiance = 8, grade = "E2"
            });
            empl.Add(new Employee()
            {
                ID = 104, Name = "kimaya", salary = 10000, Experiance = 2, grade = "E2"
            });
            empl.Add(new Employee()
            {
                ID = 104, Name = "Shweta", salary = 90000, Experiance = 9, grade = "E2"
            });
            //Employee.PromoteEmp(empl);
            isPromote pro = new isPromote(promote);

            Employee.PromoteEmp(empl, pro);
        }
示例#2
0
 public static void PromoteEmp(List <Employee> employeeList, isPromote isEligible)
 {
     foreach (Employee emp in employeeList)
     {
         if (isEligible(emp))
         {
             Console.WriteLine(emp.Name + " " + "Promoted.");
         }
     }
 }
示例#3
0
 public static void PromoteEmp(List <Employee> EmployeeList, isPromote IsEligible)
 {
     foreach (Employee emp in EmployeeList)
     {
         if (IsEligible(emp))//logic condition
         {
             Console.WriteLine(emp.Name + " Promoted");
         }
     }
     Console.ReadKey();
 }
示例#4
0
 public static void PromoteEmp(List <Employee> EmployeeList, isPromote IsEligible)
 {
     foreach (Employee emp in EmployeeList)
     {
         //you can see that there is no hard coded logic to promote an employee.
         //The logic is used when we call this method.
         if (IsEligible(emp))   //logic condition
         {
             Console.WriteLine(emp.Name + " Promoted");
         }
     }
 }
示例#5
0
        static void Main(string[] args)
        {
            List <Employee> empl = new List <Employee>();

            empl.Add(new Employee()
            {
                ID = 101, Name = "Shorif", Experiance = 6, salary = 10000
            });
            empl.Add(new Employee()
            {
                ID = 102, Name = "Saddam", Experiance = 3, salary = 80000
            });
            empl.Add(new Employee()
            {
                ID = 103, Name = "Sagor", Experiance = 10, salary = 40000
            });
            isPromote objdelpro = new isPromote(Promote);

            Employee.PromoteEmp(empl, objdelpro);
            Console.ReadKey();
        }
示例#6
0
        static void Main(string[] args)
        {
            List <Employee> empl = new List <Employee>();

            empl.Add(new Employee()
            {
                ID = 101, Name = "Brad", salary = 20000, Experiance = 13
            });
            empl.Add(new Employee()
            {
                ID = 102, Name = "John", salary = 30000, Experiance = 4
            });
            empl.Add(new Employee()
            {
                ID = 103, Name = "Suzan", salary = 50000, Experiance = 8
            });
            empl.Add(new Employee()
            {
                ID = 104, Name = "Mike", salary = 10000, Experiance = 2
            });

            //Using delegate business logic got separated from employee class which makes code reusable.

            //Creating an instance of delegate
            isPromote pro = new isPromote(promote);

            //Calling PromoteEmp function with passing the employee list and the delegate
            Employee.PromoteEmp(empl, pro);

            //multi cast delegate example
            strDele delobj = new strDele(uppercasestr);  //method reference 1

            Console.WriteLine(delobj("Thank You"));
            delobj += new strDele(Lowercasestr);  //method reference 2
            Console.WriteLine(delobj("Thank You"));
        }