Перегрузка метода Equals() - C#
Формулировка задачи:
Стоит ли перегружать вообще, если можно сравнивать используя метод класса object:
Если использовать это:
То и перегружать буду так:
/// <summary>Определяет время в часах, минутах и секундах</summary> [Serializable()] public class Time { /// <summary>Часы</summary> public byte Hours { get; set; } /// <summary>Минуты</summary> public byte Minutes { get; set; } /// <summary>Секунды</summary> public byte Seconds { get; set; } public Time() { } public Time(byte Hours, byte Minutes) : this(Hours, Minutes, 0) { } public Time(byte Hours, byte Minutes, byte Seconds) { this.Hours = Hours; this.Minutes = Minutes; this.Seconds = Seconds; } public static Boolean operator ==(Time timeOne, Time timeTwo) { return object.Equals(timeOne, timeTwo); } public static Boolean operator !=(Time timeOne, Time timeTwo) { return !object.Equals(timeOne, timeTwo); } public override bool Equals(object obj) //Перегрузка метода { Time time = (Time)obj; return (Hours == time.Hours && Minutes == time.Minutes && Seconds == time.Seconds); } }
public override bool Equals(object obj) //Перегрузка метода { Time time = (Time)obj; return (Hours == time.Hours && Minutes == time.Minutes && Seconds == time.Seconds); }
public static Boolean operator !=(Time timeOne, Time timeTwo) { return !timeOne.Equals(timeTwo); }
Решение задачи: «Перегрузка метода Equals()»
textual
Листинг программы
class Time : IEquatable<Time> { public bool Equals(Time other) { return false; } }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д