ntminer 6 years ago
parent
commit
8bf6271e27

+ 6 - 2
src/AppModels/AppContext.cs

@@ -21,7 +21,9 @@ namespace NTMiner {
         /// </summary>
         public static IMessagePathId CmdPath<TCmd>(string description, LogEnum logType, Action<TCmd> action)
             where TCmd : ICmd {
-            return VirtualRoot.BuildPath(description, logType, action).AddToCollection(_contextHandlers);
+            var messagePathId = VirtualRoot.BuildPath(description, logType, action);
+            _contextHandlers.Add(messagePathId);
+            return messagePathId;
         }
 
         /// <summary>
@@ -29,7 +31,9 @@ namespace NTMiner {
         /// </summary>
         public static IMessagePathId EventPath<TEvent>(string description, LogEnum logType, Action<TEvent> action)
             where TEvent : IEvent {
-            return VirtualRoot.BuildPath(description, logType, action).AddToCollection(_contextHandlers);
+            var messagePathId = VirtualRoot.BuildPath(description, logType, action);
+            _contextHandlers.Add(messagePathId);
+            return messagePathId;
         }
 
         public static void Enable() {

+ 6 - 2
src/NTMiner/NTMinerRoot.cs

@@ -33,7 +33,9 @@ namespace NTMiner {
         /// </summary>
         public IMessagePathId ServerContextCmdPath<TCmd>(string description, LogEnum logType, Action<TCmd> action)
             where TCmd : ICmd {
-            return VirtualRoot.BuildPath(description, logType, action).AddToCollection(_serverContextHandlers);
+            var messagePathId = VirtualRoot.BuildPath(description, logType, action);
+            _serverContextHandlers.Add(messagePathId);
+            return messagePathId;
         }
 
         /// <summary>
@@ -41,7 +43,9 @@ namespace NTMiner {
         /// </summary>
         public IMessagePathId ServerContextEventPath<TEvent>(string description, LogEnum logType, Action<TEvent> action)
             where TEvent : IEvent {
-            return VirtualRoot.BuildPath(description, logType, action).AddToCollection(_serverContextHandlers);
+            var messagePathId = VirtualRoot.BuildPath(description, logType, action);
+            _serverContextHandlers.Add(messagePathId);
+            return messagePathId;
         }
 
         public IUserSet UserSet { get; private set; }

+ 0 - 13
src/NTMinerBus/Bus/MessageHandlerExtensions.cs

@@ -1,13 +0,0 @@
-using System.Collections.Generic;
-
-namespace NTMiner.Bus {
-    public static class MessageHandlerExtensions {
-
-        public static IMessagePathId AddToCollection(this IMessagePathId handler, List<IMessagePathId> handlers) {
-            if (!handlers.Contains(handler)) {
-                handlers.Add(handler);
-            }
-            return handler;
-        }
-    }
-}

+ 0 - 1
src/NTMinerBus/NTMinerBus.csproj

@@ -51,7 +51,6 @@
     <Compile Include="Bus\IMessage.cs" />
     <Compile Include="Bus\IMessageDispatcher.cs" />
     <Compile Include="Bus\MessageDispatcher.cs" />
-    <Compile Include="Bus\MessageHandlerExtensions.cs" />
     <Compile Include="Bus\MessageTypeAttribute.cs" />
     <Compile Include="Properties\AssemblyInfo.cs" />
   </ItemGroup>

+ 4 - 2
src/NTMinerWpf/WindowExtension.cs

@@ -103,7 +103,8 @@ namespace NTMiner {
                 window.Resources.Add(messagePathIdsResourceKey, messagePathIds);
                 window.Closed += UiElement_Closed;
             }
-            VirtualRoot.BuildPath(description, logType, action).AddToCollection(messagePathIds);
+            var messagePathId = VirtualRoot.BuildPath(description, logType, action);
+            messagePathIds.Add(messagePathId);
         }
 
         public static void BuildEventPath<TEvent>(this Window window, string description, LogEnum logType, Action<TEvent> action)
@@ -120,7 +121,8 @@ namespace NTMiner {
                 window.Resources.Add(messagePathIdsResourceKey, messagePathIds);
                 window.Closed += UiElement_Closed; ;
             }
-            VirtualRoot.BuildPath(description, logType, action).AddToCollection(messagePathIds);
+            var messagePathId = VirtualRoot.BuildPath(description, logType, action);
+            messagePathIds.Add(messagePathId);
         }
 
         private static void UiElement_Closed(object sender, EventArgs e) {