From 0dbe3cf9554d9d07b04ae4baa53cf143d2b74452 Mon Sep 17 00:00:00 2001 From: Justas Dabrila Date: Fri, 12 Feb 2016 11:15:24 +0200 Subject: [PATCH 1/3] Exposed services in ServiceManager --- src/Discord.Net/ServiceManager.cs | 1 + 1 file changed, 1 insertion(+) diff --git a/src/Discord.Net/ServiceManager.cs b/src/Discord.Net/ServiceManager.cs index 0e6533b90..f04c19d13 100644 --- a/src/Discord.Net/ServiceManager.cs +++ b/src/Discord.Net/ServiceManager.cs @@ -5,6 +5,7 @@ namespace Discord { public class ServiceManager { + public IEnumerable Services => _services.Values; private readonly Dictionary _services; internal DiscordClient Client { get; } From 6841217dadc9e7f4a064aa16e1e8a010e0a3d382 Mon Sep 17 00:00:00 2001 From: Justas Dabrila Date: Fri, 12 Feb 2016 17:19:30 +0200 Subject: [PATCH 2/3] Exposed services as an IEnumerator instead --- src/Discord.Net/ServiceManager.cs | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/Discord.Net/ServiceManager.cs b/src/Discord.Net/ServiceManager.cs index f04c19d13..470ecd689 100644 --- a/src/Discord.Net/ServiceManager.cs +++ b/src/Discord.Net/ServiceManager.cs @@ -1,11 +1,11 @@ using System; +using System.Collections; using System.Collections.Generic; namespace Discord { public class ServiceManager { - public IEnumerable Services => _services.Values; private readonly Dictionary _services; internal DiscordClient Client { get; } @@ -37,5 +37,7 @@ namespace Discord throw new InvalidOperationException($"This operation requires {typeof(T).Name} to be added to {nameof(DiscordClient)}."); return singletonT; } + + public IEnumerator GetEnumerator() => _services.Values.GetEnumerator(); } } From dfd105ab2deebf2b3bce31e965721c06f0b74320 Mon Sep 17 00:00:00 2001 From: Justas Dabrila Date: Fri, 12 Feb 2016 17:25:40 +0200 Subject: [PATCH 3/3] Actually implemented the IEnumerable interface --- src/Discord.Net/ServiceManager.cs | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/Discord.Net/ServiceManager.cs b/src/Discord.Net/ServiceManager.cs index 470ecd689..e874b87e4 100644 --- a/src/Discord.Net/ServiceManager.cs +++ b/src/Discord.Net/ServiceManager.cs @@ -4,7 +4,7 @@ using System.Collections.Generic; namespace Discord { - public class ServiceManager + public class ServiceManager : IEnumerable { private readonly Dictionary _services; @@ -38,6 +38,8 @@ namespace Discord return singletonT; } + IEnumerator IEnumerable.GetEnumerator() => _services.Values.GetEnumerator(); + public IEnumerator GetEnumerator() => _services.Values.GetEnumerator(); } }