diff options
Diffstat (limited to 'IrcStates/ChannelUser.cs')
-rw-r--r-- | IrcStates/ChannelUser.cs | 22 |
1 files changed, 20 insertions, 2 deletions
diff --git a/IrcStates/ChannelUser.cs b/IrcStates/ChannelUser.cs index 220a9c4..fab881c 100644 --- a/IrcStates/ChannelUser.cs +++ b/IrcStates/ChannelUser.cs @@ -4,11 +4,29 @@ namespace IrcStates { public class ChannelUser { - public List<string> Modes { get; set; } - public ChannelUser() { Modes = new List<string>(); } + + public List<string> Modes { get; set; } + + protected bool Equals(ChannelUser other) + { + return other != null && Equals(Modes, other.Modes); + } + + public override bool Equals(object obj) + { + if (ReferenceEquals(null, obj)) return false; + if (ReferenceEquals(this, obj)) return true; + if (obj.GetType() != GetType()) return false; + return Equals((ChannelUser) obj); + } + + public override int GetHashCode() + { + return Modes != null ? Modes.GetHashCode() : 0; + } } } |