public void Register <TImpl>(string alias, IDictionary <string, object> parameters = null) where TImpl : T => _items.Add(alias, ActivationInfo.Create <TImpl>(parameters));
public bool TryGetValue(string alias, out ActivationInfo activationInfo) => _items.TryGetValue(alias, out activationInfo);
public static T CreateInstance <T>(this IServiceProvider serviceProvider, ActivationInfo typeActivationInfo) => serviceProvider.CreateInstance <T>(typeActivationInfo.Type, typeActivationInfo.Parameters);