public void Visit(IVisitorElement element) { var employee = element as IEmployee; if (employee.PayType == PayType.Hourly) { employee.PayReport = "100 Hours and $1000 in total."; } }
public void Visit(IVisitorElement element) { var employee = element as IEmployee; if (employee.PayType == PayType.Yearly) { employee.PayReport = "Yearly pay : $200000."; } }
public override void Visit(IVisitorElement element) { var employee = element as IEmployee; if (employee.JobLevel == JobLevel.SeniorManager) { employee.Income = defaultIncome * 1.5M; employee.VacationDays = defaultVacationDays + 5; } }
public virtual void Visit(IVisitorElement element) { var employee = element as IEmployee; if (employee.JobLevel == JobLevel.Common) { employee.Income = defaultIncome; employee.VacationDays = defaultVacationDays; } }
public void Visit(IVisitorElement element) { var employee = element as IEmployee; var payName = employee.PayType.ToString() + "Pay"; var methodName = string.Format(visitMethod, payName); //var thisType = this.GetType(); GetMethodInfo(methodName, employee); //var method = thisType.GetMethod(methodName, BindingFlags.NonPublic | BindingFlags.Instance); //method.Invoke(this, new object[] { employee }); var levelName = employee.JobLevel.ToString() + "Level"; methodName = string.Format(visitMethod, levelName); GetMethodInfo(methodName, employee); //method = thisType.GetMethod(methodName, BindingFlags.NonPublic | BindingFlags.Instance); //method.Invoke(this, new object[] { employee }); }