Support us .Net Basics C# SQL ASP.NET ADO.NET MVC Slides C# Programs Subscribe Buy DVD

Part 38 - C# Tutorial - Delegates Example - II

Click here for the article related to Delegates Example Part I
Click here for the article related to Delegates Example Part II
Part 38 - C# Tutorial - Delegates Example - II


5 comments:

  1. fire our employees? haha

    ReplyDelete
  2. Delegates : -

    I have written the code like below but not working it has been showing errors i was unable to find out the errors please tell me that what is the wrong with below code.Thank you...

    using System;
    using System.Collections.Generic;

    public class WithDelClassEx {

    public static void Main() {

    List emplist=new List();

    emplist.Add(new Employee() {Id=1, Name="sivakumar", Experience=8});
    emplist.Add(new Employee() {Id=2, Name="Aravind", Experience=6});
    emplist.Add(new Employee() {Id=3, Name="jagadeesh", Experience=10});
    emplist.Add(new Employee() {Id=4, Name="subbalakshmi", Experience=9});

    IsPromotable isPromotable=new IsPromotable(EligibleEmp);

    public static bool EligibleEmp(Employee ee) {
    if(ee.Experience>=8) {
    return true;
    }
    else {
    return false;
    }
    }

    Employee.PromoteEmployee(emplist, isPromotable);

    }
    }

    delegate bool IsPromotable(Employee emp1);

    class Employee {

    public int Id{ set; get; }
    public string Name{ set; get; }
    public int Experience{ set; get; }

    public static void PromoteEmployee(List emp, IsPromotable IsEligibleToPromote) {
    foreach(Employee employee in emp) {
    if(IsEligibleToPromote(employee)) {
    Console.WriteLine("Employee"+" "+employee.Name+" "+"Promoted");
    }
    }
    }

    }

    ReplyDelete
  3. Same Code As demonstrated in video.

    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Text;

    namespace ConsoleApplication2
    {
    class Delegate
    {
    public static void Main()
    {
    List emplist = new List();
    emplist.Add(new Employee() { ID = 101, Name = "Mohan", Salary = 5000, Experience = 5 });
    emplist.Add(new Employee() { ID = 102, Name = "Alan", Salary = 6000, Experience = 6 });
    emplist.Add(new Employee() { ID = 103, Name = "Suresh", Salary = 7000, Experience = 3 });
    emplist.Add(new Employee() { ID = 104, Name = "Jay", Salary = 4000, Experience = 3 });
    emplist.Add(new Employee() { ID = 105, Name = "Sachin", Salary = 4500, Experience = 3 });
    IsPromotable del = new IsPromotable(Promote);
    Employee.PromoteEmployee(emplist,del);
    }
    public static bool Promote(Employee emp)
    {
    if(emp.Experience >=5)
    {
    return true;
    }
    else
    {
    return false;
    }
    }
    }
    delegate bool IsPromotable(Employee empl);
    class Employee
    {
    public int ID { get; set; }
    public string Name { get; set; }
    public int Salary { get; set; }
    public int Experience { get; set; }

    public static void PromoteEmployee(List employeelist, IsPromotable ispromotable)
    {
    foreach (Employee employee in employeelist)
    {
    if (ispromotable(employee))
    {
    Console.WriteLine(employee.Name + " is promoted");
    }
    }
    }
    }
    }

    ReplyDelete
  4. Modified Code:
    __________________________



    using System;
    using System.Collections.Generic;

    public class WithDelClassEx
    {

    public static void Main()
    {

    List emplist = new List();

    emplist.Add(new Employee() { Id = 1, Name = "sivakumar", Experience = 8 });
    emplist.Add(new Employee() { Id = 2, Name = "Aravind", Experience = 6 });
    emplist.Add(new Employee() { Id = 3, Name = "jagadeesh", Experience = 10 });
    emplist.Add(new Employee() { Id = 4, Name = "subbalakshmi", Experience = 9 });

    IsPromotable isPromotable = new IsPromotable(EligibleEmp);
    Employee.PromoteEmployee(emplist, isPromotable);
    }

    static bool EligibleEmp(Employee ee)
    {
    if (ee.Experience >= 8)
    {
    return true;
    }
    else
    {
    return false;
    }
    }




    }

    delegate bool IsPromotable(Employee emp1);

    class Employee
    {

    public int Id { set; get; }
    public string Name { set; get; }
    public int Experience { set; get; }

    public static void PromoteEmployee(List emp, IsPromotable IsEligibleToPromote)
    {
    foreach (Employee employee in emp)
    {
    if (IsEligibleToPromote(employee))
    {
    Console.WriteLine("Employee" + " " + employee.Name + " " + "Promoted");
    }
    }
    }

    }

    _________________________

    1.using System.Collections.Generic.List requires 1 typ argument.List emplist=new List();

    2. Delegate function IsPromotable() need to be declare outside the main method

    3. corrected syntax error and scope of access modifier

    ReplyDelete
    Replies
    1. using System;
      using System.Collections.Generic;

      public class WithDelClassEx
      {

      public static void Main()
      {

      List emplist = new List();

      emplist.Add(new Employee() { Id = 1, Name = "sivakumar", Experience = 8 });
      emplist.Add(new Employee() { Id = 2, Name = "Aravind", Experience = 6 });
      emplist.Add(new Employee() { Id = 3, Name = "jagadeesh", Experience = 10 });
      emplist.Add(new Employee() { Id = 4, Name = "subbalakshmi", Experience = 9 });

      IsPromotable isPromotable = new IsPromotable(EligibleEmp);
      Employee.PromoteEmployee(emplist, isPromotable);
      }

      static bool EligibleEmp(Employee ee)
      {
      if (ee.Experience >= 8)
      {
      return true;
      }
      else
      {
      return false;
      }
      }




      }

      delegate bool IsPromotable(Employee emp1);

      class Employee
      {

      public int Id { set; get; }
      public string Name { set; get; }
      public int Experience { set; get; }

      public static void PromoteEmployee(List emp, IsPromotable IsEligibleToPromote)
      {
      foreach (Employee employee in emp)
      {
      if (IsEligibleToPromote(employee))
      {
      Console.WriteLine("Employee" + " " + employee.Name + " " + "Promoted");
      }
      }
      }

      }

      Delete

If you like this website, please share with your friends on facebook and Google+ and recommend us on google using the g+1 button on the top right hand corner.