public static void Main()
var currentGun = DaGunz.MachineGun;
Console.WriteLine("Shoggoths are coming!");
case DaGunz.RocketLauncher:
gun = new RocketLauncher();
public static void FireGun(IGun gun)
MachineGun, RocketLauncher
public class MachineGun : IGun
public int Ammo {get; set;}
public MachineGun(int ammo) {
Console.WriteLine("DAKKA DAKKA DAKKA DAKKA");
Console.WriteLine("Machine Gun Reloaded");
public class RocketLauncher : IGun
public int Ammo {get; set;}
public RocketLauncher() {
public RocketLauncher(int ammo) {
Console.WriteLine("BOOOOOOOOOOOOOOOOOOOOOM!");
Console.WriteLine("Rocket Launcher Reloaded");