public static void Main()
public static class printMethod
public static void print()
customer[] customers = new customer[2];
customers[0] = new customer() { firstName = "Rae", lastName = "William", Orders = new Order() };
customers[0].Orders = new Order() { Quantity = 1, prices = 25000 };
customers[0].Orders.vehicle = new vehicles(new automobile()) { wheels = 4, horse_Power = 450, desc = "Automobile" };
customers[1] = new customer() { firstName = "Wen", lastName = "Ni", Orders = new Order() };
customers[1].Orders = new Order() { Quantity = 1, prices = 20000 };
customers[1].Orders.vehicle = new vehicles(new motorcycle()) { wheels = 2, horse_Power = 200, desc = "Motorcycle" };
foreach (var cust in customers)
if (cust == null) continue;
using (StreamWriter WriteFile = new StreamWriter("C:\\Simran\\BridgingProgram\\C#\\output.txt", true))
WriteFile.WriteLine("\n");
WriteFile.WriteLine("{0} {1}", cust.firstName, cust.lastName);
WriteFile.WriteLine("----------------------------------------------------------------");
WriteFile.WriteLine(" Quantity Description HorsePower Wheels capacity Price");
WriteFile.WriteLine(" {0,3} {1,15} {2,7} {3,8} {4,8} {5,10:C}", cust.Orders.Quantity, cust.Orders.vehicle.desc, cust.Orders.vehicle.horse_Power, cust.Orders.vehicle.wheels, cust.Orders.vehicle.cargoCap(), cust.Orders.prices);
WriteFile.WriteLine("----------------------------------------------------------------");
public string firstName { get; set; }
public string lastName { get; set; }
public Order Orders { get; set; }
public int Quantity { get; set; }
public int prices { get; set; }
public vehicles vehicle { get; set; }
public interface Ivehicle
public int wheels { get; set; }
public string desc { get; set; }
public double horse_Power { get; set; }
private readonly Ivehicle _vehicle;
public vehicles(Ivehicle vehicle)
return this._vehicle.cargoCapacity();
public class motorcycle : vehicles, Ivehicle
public double cargoCapacity()
return (1.1 * (2.2 * 2.2) * 5) * 2;
public class automobile:vehicles , Ivehicle
public double cargoCapacity()