static void Main(string[] args) { //Option 1 IElectronics myElectroninc = ElectronicsFactory.Factory <TV>(); (myElectroninc as TV).Play(); //Option 2 When you dont want to expose types in client code. (ElectronicsFactory.Factory("Radio") as Radio).Tune(); }
public static IElectronics Factory(string electronicsType) { switch (electronicsType) { case "TV": return(ElectronicsFactory.Factory <TV>()); case "Radio": return(ElectronicsFactory.Factory <Radio>()); default: return(ElectronicsFactory.Factory <NotElectronic>()); } }