From f444429cf1c18b3c46ac0bde6ac56f5ff3e9184e Mon Sep 17 00:00:00 2001 From: Finite Reality Date: Fri, 5 Aug 2016 01:00:43 +0100 Subject: [PATCH] Add Contains overload for IEnumerable> Also actually implement GetHashCode --- src/Discord.Net/Extensions/CollectionExtensions.cs | 5 +++++ src/Discord.Net/Rest/Entities/Roles/Role.cs | 2 +- 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/src/Discord.Net/Extensions/CollectionExtensions.cs b/src/Discord.Net/Extensions/CollectionExtensions.cs index 8eebac817..811189e2b 100644 --- a/src/Discord.Net/Extensions/CollectionExtensions.cs +++ b/src/Discord.Net/Extensions/CollectionExtensions.cs @@ -14,6 +14,11 @@ namespace Discord => new ConcurrentDictionaryWrapper(query, () => source.Count); public static IReadOnlyCollection ToReadOnlyCollection(this IEnumerable query, Func countFunc) => new ConcurrentDictionaryWrapper(query, countFunc); + + public static bool Contains(this IEnumerable> roles, ulong id) + { + return roles.Any(x => x.Id == id); + } } [DebuggerDisplay(@"{DebuggerDisplay,nq}")] diff --git a/src/Discord.Net/Rest/Entities/Roles/Role.cs b/src/Discord.Net/Rest/Entities/Roles/Role.cs index 1acbd19f5..d96525b4a 100644 --- a/src/Discord.Net/Rest/Entities/Roles/Role.cs +++ b/src/Discord.Net/Rest/Entities/Roles/Role.cs @@ -73,7 +73,7 @@ namespace Discord public override int GetHashCode() { - return base.GetHashCode(); + return Id.GetHashCode(); } public Role Clone() => MemberwiseClone() as Role;