예제 #1
0
        public void Add(IInterceptor interceptor, string name, InterceptorRulesBuilder rulesBuilder = null)
        {
            Check.NotNull(interceptor, nameof(interceptor));
            Check.NotEmpty(name, nameof(name));

            if (Interceptors.ContainsKey(name))
            {
                throw new InterceptionException($"Интерсептор '{name}' уже зарегистрирован.");
            }

            var info = new InterceptorInfo {
                Name = name, Interceptor = interceptor, Rules = rulesBuilder?.GetRules()
            };

            _interceptors.Add(name, info);
        }
 public static void Add(this Interception @this, string interceptionName, Action action, InterceptorRulesBuilder rules = null)
 {
     Check.NotNull(action, nameof(action));
     @this.Add(interceptionName, new[] { action }, rules);
 }
 public static void Add(this Interception @this, string interceptionName, Action[] actions, InterceptorRulesBuilder rules = null)
 {
     Check.NotNull(actions, nameof(actions));
     @this.Add(new Interceptor(actions), interceptionName, rules);
 }
예제 #4
0
 public void Add(IInterceptor interceptor, InterceptorRulesBuilder rulesBuilder = null)
 {
     Add(interceptor, GetName(interceptor), rulesBuilder);
 }