示例#1
0
        public bool TryAdd(IWorkListFactory factory)
        {
            lock (_registryLock)
            {
                if (_map.ContainsKey(factory.Name))
                {
                    return(false);
                }
            }

            Add(factory);
            return(true);
        }
示例#2
0
        public void Add(IWorkListFactory factory)
        {
            if (factory == null)
            {
                throw new ArgumentNullException(nameof(factory));
            }

            lock (_registryLock)
            {
                string name = factory.Name;
                if (_map.ContainsKey(name))
                {
                    throw new InvalidOperationException(
                              $"WorkList by that name already registered: '{name}'");
                }

                _map.Add(name, factory);
            }
        }