Mega Code Archive

 
Categories / C# Tutorial / Data Type
 

Use enum type categorize objects

using System; enum EmployeeTypeEnum {     Employee,     Manager } class Employee {     public Employee(string name, float billingRate)     {         this.name = name;         this.billingRate = billingRate;         type = EmployeeTypeEnum.Employee;     }          public float CalculateCharge(float hours)     {         if (type == EmployeeTypeEnum.Manager)         {             Manager c = (Manager) this;             return(c.CalculateCharge(hours));         }         else if (type == EmployeeTypeEnum.Employee)                 return(hours * billingRate);         return(0F);     }          public string TypeName()     {         if (type == EmployeeTypeEnum.Manager)         {             Manager c = (Manager) this;             return(c.TypeName());         }         else if (type == EmployeeTypeEnum.Employee)             return("Employee");         return("No Type Matched");     }          private string name;     protected float billingRate;     protected EmployeeTypeEnum type; } class Manager: Employee {     public Manager(string name, float billingRate) :     base(name, billingRate)     {         type = EmployeeTypeEnum.Manager;     }          public new float CalculateCharge(float hours)     {         if (hours < 1.0F)         hours = 1.0F;        // minimum charge.         return(hours * billingRate);     }          public new string TypeName()     {         return("Civil Employee");     } } class MainClasss{     public static void Main(){         Employee[]    earray = new Employee[2];         earray[0] = new Employee("A", 15.50F);         earray[1] = new Manager("B", 40F);                  Console.WriteLine("{0} charge = {1}",         earray[0].TypeName(),         earray[0].CalculateCharge(2F));         Console.WriteLine("{0} charge = {1}",         earray[1].TypeName(),         earray[1].CalculateCharge(0.75F));     } } Employee charge = 31 Civil Employee charge = 40