private void AsymmetricObjects() { Console.WriteLine("Asymmetric"); Console.WriteLine("----------"); // bind var numberBinding = new Binding("Number") { Source = _guineaPig }; var nameBinding = new Binding("FullName") { Source = _guineaPig }; _subjectUnderTest.Number.SetBinding(System.Windows.Controls.TextBox.TextProperty, numberBinding); _subjectUnderTest.FullName.SetBinding(System.Windows.Controls.TextBox.TextProperty, nameBinding); var testDuration = new Stopwatch(); testDuration.Start(); RunAsymmetric(); testDuration.Stop(); Console.WriteLine( string.Format("Write to {0}: {1} msec.", _subjectUnderTest.GetType().Name, testDuration.ElapsedMilliseconds.ToString("#,###"))); testDuration.Restart(); RunReverseAsymmetric(); testDuration.Stop(); Console.WriteLine( string.Format("Write to {0}: {1} msec.", _guineaPig.GetType().Name, testDuration.ElapsedMilliseconds.ToString("#,###"))); Console.WriteLine(); }