فهرست منبع

Make SubscriptionModeAttribute.SubscriptionMode nullable

Olivier Coanet 3 سال پیش
والد
کامیت
441b2bf56a
2فایلهای تغییر یافته به همراه4 افزوده شده و 4 حذف شده
  1. 2 2
      src/Abc.Zebus/Dispatch/MessageHandlerInvokerSubscriber.cs
  2. 2 2
      src/Abc.Zebus/SubscriptionModeAttribute.cs

+ 2 - 2
src/Abc.Zebus/Dispatch/MessageHandlerInvokerSubscriber.cs

@@ -51,8 +51,8 @@ namespace Abc.Zebus.Dispatch
         public static SubscriptionMode GetDefaultSubscriptionMode(Type messageHandlerType, Type messageType)
         {
             var subscriptionModeAttribute = (SubscriptionModeAttribute?)Attribute.GetCustomAttribute(messageHandlerType, typeof(SubscriptionModeAttribute));
-            if (subscriptionModeAttribute != null && subscriptionModeAttribute.StartupSubscriberType == null)
-                return subscriptionModeAttribute.SubscriptionMode;
+            if (subscriptionModeAttribute != null && subscriptionModeAttribute.SubscriptionMode != null)
+                return subscriptionModeAttribute.SubscriptionMode.Value;
 
             return DefaultSubscriptionMode(messageType);
         }

+ 2 - 2
src/Abc.Zebus/SubscriptionModeAttribute.cs

@@ -3,7 +3,7 @@
 namespace Abc.Zebus
 {
     /// <summary>
-    /// Specifies the subscription mode of the target message handler.
+    /// Specifies the startup subscription mode of the target message handler.
     /// </summary>
     [AttributeUsage(AttributeTargets.Class)]
     public sealed class SubscriptionModeAttribute : Attribute
@@ -27,7 +27,7 @@ namespace Abc.Zebus
             StartupSubscriberType = startupSubscriberType;
         }
 
-        public SubscriptionMode SubscriptionMode { get; }
+        public SubscriptionMode? SubscriptionMode { get; }
 
         /// <summary>
         /// A type which implements the interface <see cref="IStartupSubscriber"/>