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); }
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); } }