コード例 #1
0
        public TweakerDictionary <T> GetObjects(SearchOptions options = null)
        {
            PruneDeadInstances();
            TweakerDictionary <T> tweakerDictionary = new TweakerDictionary <T>();

            lock (lockObj)
            {
                foreach (T value in objects.Values)
                {
                    if (options == null || options.CheckMatch(value))
                    {
                        tweakerDictionary.Add(value.Name, value);
                    }
                }
            }
            return(tweakerDictionary);
        }
コード例 #2
0
 public void RegisterObject(T t)
 {
     lock (lockObj)
     {
         if (objects.ContainsKey(t.Name))
         {
             throw new NameAlreadyRegisteredException(t.Name);
         }
         if (t.StrongInstance != null)
         {
             T @object = GetObject(new SearchOptions(t.Name.Split('#')[0], null, SearchOptions.ScopeType.All, SearchOptions.BindingType.Instance, t.StrongInstance));
             if (@object != null)
             {
                 throw new InstanceAlreadyRegisteredException(@object);
             }
         }
         objects.Add(t.Name, t);
     }
 }