using System.Collections.Generic;
public int Id {get; private set;}
_vehicles = new List<Vehicle>();
public IEnumerable<TVehicle> OfType<TVehicle>() where TVehicle : Vehicle
return _vehicles.OfType<TVehicle>();
public void AddVehicle(Vehicle v)
public static void Main()
VehicleMan vMan = new VehicleMan();
var rnd = new Random(11);
for(int i = 0; i < 9999; i++)
var cars = vMan.OfType<Car>().Select(x => x.Id);
Console.WriteLine("Cars: {0}",cars.Count());