static void Main(string[] args) { EmployeeList list = new EmployeeList(); Employee fte1, fte2, fte3, pte1, pte2; fte1 = new FulltimeEmployee("张无忌", 3200.00, 45); fte2 = new FulltimeEmployee("杨过", 2000.00, 40); fte3 = new FulltimeEmployee("段誉", 2400.00, 38); pte1 = new ParttimeEmployee("洪七公", 80.00, 20); pte2 = new ParttimeEmployee("郭靖", 60.00, 18); list.AddEmployee(fte1); list.AddEmployee(fte2); list.AddEmployee(fte3); list.AddEmployee(pte1); list.AddEmployee(pte2); Department dep; //读取配置文件 string visitorStr = ConfigurationManager.AppSettings["visitor"]; //反射生成对象 dep = (Department)Assembly.Load("VisitorSample").CreateInstance(visitorStr); list.Accept(dep); Console.Read(); }
//实现财务部对兼职员工的访问 public override void Visit(ParttimeEmployee employee) { int workTime = employee.WorkTime; double hourWage = employee.HourWage; Console.WriteLine("临时工{0}实际工资为:{1}元。", employee.Name, workTime * hourWage); }
//实现人力资源部对兼职员工的访问 public override void Visit(ParttimeEmployee employee) { int workTime = employee.WorkTime; Console.WriteLine("临时工{0}实际工作时间为:{1}小时。", employee.Name, workTime); }