예제 #1
0
        /// <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));
        }
예제 #2
0
        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());
        }