public void ChainedMethodCallsCanChangeMethodBehaviorThroughStaticType() { Foo foo = new Foo(); Foo2 foo2 = new Foo2(); Assert.AreEqual(2, foo.bar2()); Assert.AreEqual(3, foo2.bar2()); foo = foo2; Assert.AreEqual(3, foo.bar2()); }