namespace IRCStates; public class ChannelUser { public List Modes { get; } = []; private bool Equals(ChannelUser other) => other != null && Equals(Modes, other.Modes); public override bool Equals(object obj) { if (ReferenceEquals(null, obj)) { return false; } if (ReferenceEquals(this, obj)) { return true; } return obj.GetType() == GetType() && Equals((ChannelUser) obj); } public override int GetHashCode() => Modes != null ? Modes.GetHashCode() : 0; }