using Microsoft.Practices.Unity;
public static void Main()
Console.WriteLine("Hello World");
var container = new UnityContainer();
container.RegisterType<IEmployee, FullTimeEmployee>();
var emp = container.Resolve<EmployeeService>();
var container1 = new UnityContainer();
container1.RegisterType<IEmployee, PartTimeEmployee>() ;
var emp1 = container1.Resolve<EmployeeService>();
Console.WriteLine("calculated salary of Full time employee= " + Convert.ToString(emp.CalculateSalary()));
Console.WriteLine("calculated salary of part time employee= " + Convert.ToString(emp1.CalculateSalary()));
public class EmployeeService{
public EmployeeService(IEmployee empp){
public int CalculateSalary(){
return emp.CalculateSalary();
public interface IEmployee{
int BasicSalary {get;set;}
public class FullTimeEmployee:IEmployee{
public string Name {get;set;}
public int BasicSalary {get;set;}
public int CalculateSalary(){
return BasicSalary*30+10000;
public class PartTimeEmployee:IEmployee{
public string Name {get;set;}
public int BasicSalary {get;set;}
public int CalculateSalary(){