public static void Main()
var classA = new ClassA("Shaun Luttin");
if(classA.Equals(classA.MyClassB1.MyClassA) &&
classA.Equals(classA.MyClassB2.MyClassA) &&
classA.MyClassB1.MyClassA.Equals(classA.MyClassB2.MyClassA))
Console.WriteLine("Hi my name is " + classA.Name);
Console.WriteLine("Hi my name is also " + classA.MyClassB1.MyClassA.Name);
Console.WriteLine("And my name too is " + classA.MyClassB2.MyClassA.Name);
Console.WriteLine("They are the same object.");
public ClassB MyClassB1 { get; set; }
public ClassB MyClassB2 { get; set; }
public string Name { get; set; }
public ClassA(string name)
this.MyClassB1 = new ClassB(this);
this.MyClassB2 = new ClassB();
this.MyClassB2.MyClassA = this;
public ClassA MyClassA { get; set; }
public ClassB(ClassA classA)