protected bool Equals(Key other) { return Equals(Type, other.Type) && string.Equals(Name, other.Name); }
public object GetOrAdd(Key key, Func<Key, object> factory) { return instances.GetOrAdd(key, factory); }