private void CompareTransitionTimesForEquality() { // <Snippet7> TimeZoneInfo.TransitionTime tt1 = TimeZoneInfo.TransitionTime.CreateFixedDateRule(new DateTime(1, 1, 1, 02, 00, 00), 11, 03); TimeZoneInfo.TransitionTime tt2 = TimeZoneInfo.TransitionTime.CreateFixedDateRule(new DateTime(1, 1, 1, 02, 00, 00), 11, 03); TimeZoneInfo.TransitionTime tt3 = TimeZoneInfo.TransitionTime.CreateFloatingDateRule(new DateTime(1, 1, 1, 02, 00, 00), 10, 05, DayOfWeek.Sunday); Console.WriteLine(tt1.Equals(tt1)); // Returns True (an object always equals itself) Console.WriteLine(tt1.Equals(tt2)); // Returns True (identical property values) Console.WriteLine(tt1.Equals(tt3)); // Returns False (different property values) // </Snippet7> }
public void EqualsObject() { DateTime dt = new DateTime(1, 1, 1, 2, 0, 0, DateTimeKind.Unspecified); TimeZoneInfo.TransitionTime tt1 = TimeZoneInfo.TransitionTime.CreateFixedDateRule(dt, 1, 21); Assert.IsFalse(tt1.Equals(null), "null"); // found using Gendarme :) Assert.IsTrue(tt1.Equals(tt1), "self"); TimeZoneInfo.TransitionTime tt2 = TimeZoneInfo.TransitionTime.CreateFixedDateRule(dt, 2, 12); Assert.IsFalse(tt2.Equals(tt1), "1!=2"); Assert.IsFalse(tt1.Equals(tt2), "2!=1"); }