public static void Main()
Console.Write("Vehicle1");
Console.WriteLine("Vehicle2");
Person o1 = new Person("Nikunj","Kalyani");
Vehicle v1 = new Vehicle(2, "Honda", "H1", o1);
Console.Write(v1.Owner.FirstName);
Console.Write(string.Format("({0})",v1.Wheels));
Console.Write(v2.Owner.FirstName);
Console.WriteLine(string.Format("({0})",v2.Wheels));
v2.Owner.FirstName = "Poonam";
Console.Write(v1.Owner.FirstName);
Console.Write(string.Format("({0})",v1.Wheels));
Console.Write(v2.Owner.FirstName);
Console.WriteLine(string.Format("({0})",v2.Wheels));
public string FirstName{get;set;}
public string LastName{get;set;}
public Person(string firstName, string lastName){
this.FirstName = firstName;
this.LastName = lastName;
public int Wheels{get;set;}
public string Company{get;set;}
public string Model{get;set;}
public Person Owner{get;set;}
public Vehicle(int wheels, string company, string model, Person owner)
public Vehicle Copy(Vehicle src)
return src.MemberwiseClone() as Vehicle;
public static class VehicleExtention
public static Vehicle CopyX(this Vehicle src)