/// <summary> /// 确定指定的 <see cref="T:System.Object"/> 是否等于当前的 <see cref="T:System.Object"/>。 /// </summary> /// <param name="obj">与当前的 <see cref="T:System.Object"/> 进行比较的 <see cref="T:System.Object"/>。</param> /// <returns> /// 如果指定的 <see cref="T:System.Object"/> 等于当前的 <see cref="T:System.Object"/>,则为 true;否则为 false。 /// </returns> /// <exception cref="T:System.NullReferenceException"> /// <paramref name="obj"/> 参数为 null。 /// </exception> public override bool Equals(object obj) { if (obj != null && obj.GetType() == this.GetType()) { EaseDate target = (EaseDate)obj; return(target.ESP_Year == this.ESP_Year && target.ESP_Month == this.ESP_Month && target.ESP_Day == this.ESP_Day && target.ESP_Hour == this.ESP_Hour && target.ESP_Minute == this.ESP_Minute); } return(base.Equals(obj)); }
public void DoTest() { EaseDate str = new EaseDate { ESP_Year = 2009, ESP_Month = 12, ESP_Day = 30, ESP_Hour = 9, ESP_Minute = 58 }; byte[] networkBytes = str.GetNetworkBytes(); //Console.WriteLine("Len: {1}, Network Bytes: {0}", BitConverter.ToString(networkBytes), networkBytes.ESP_Length); EaseDate str2 = new EaseDate(); MemoryStream ms = new MemoryStream(networkBytes); ms.Position = 0; str2.BindFromNetworkStream(ms, 0, false); Assert.That(str.Equals(str2)); Assert.That(str.GetHashCode() == str2.GetHashCode()); //Console.WriteLine("Date:{0}", str.GetHashCode()); }