/// <summary> /// Adds the specified command interceptor implementation to the manager, /// with the specified explicit metadata. /// </summary> /// <param name="interceptor">The command interceptor instance, which does not need to /// be annotated with the <see cref="CommandInterceptorAttribute"/> attribute since /// it's provided explicitly.</param> /// <param name="metadata">Explicit metadata to use for the command interceptor, /// instead of reflecting the <see cref="CommandInterceptorAttribute"/>.</param> public void AddInterceptor(ICommandInterceptor interceptor, CommandInterceptorAttribute metadata) { Guard.NotNull(() => interceptor, interceptor); Guard.NotNull(() => metadata, metadata); var commandInterceptors = this.registeredInterceptors.GetOrAdd( Tuple.Create(new Guid(metadata.GroupId), metadata.CommandId), key => new List <ICommandInterceptor>()); commandInterceptors.Add(interceptor); }
/// <summary> /// Adds the specified command interceptor implementation to the manager, /// with the specified explicit metadata. /// </summary> /// <param name="interceptor">The command interceptor instance, which does not need to /// be annotated with the <see cref="CommandInterceptorAttribute"/> attribute since /// it's provided explicitly.</param> /// <param name="metadata">Explicit metadata to use for the command interceptor, /// instead of reflecting the <see cref="CommandInterceptorAttribute"/>.</param> public void AddInterceptor(ICommandInterceptor interceptor, CommandInterceptorAttribute metadata) { Guard.NotNull(() => interceptor, interceptor); Guard.NotNull(() => metadata, metadata); var commandInterceptors = this.registeredInterceptors.GetOrAdd( Tuple.Create(new Guid(metadata.GroupId), metadata.CommandId), key => new List<ICommandInterceptor>()); commandInterceptors.Add(interceptor); }