internal interface IVehicle
internal class Car : IVehicle
public void StartEngine()
Console.WriteLine("Starting car");
internal class Bicycle : IVehicle
public void StartEngine()
throw new NotImplementedException();
public void CheckVehicle(IVehicle vehicle)
internal interface IVehicle
internal class Car : IVehicle
Console.WriteLine("Starting car");
internal class Bicycle : IVehicle
Console.WriteLine("Pedalling Cycle");
public void CheckVehicle(IVehicle vehicle)
public static void Main()
var bicycle = new Solution.Bicycle();
var mechanic = new Solution.Mechanic();
mechanic.CheckVehicle(bicycle);
var car = new Solution.Car();
mechanic.CheckVehicle(car);