public T Service <T>(ServiceId <T> id) { if (_services.TryGetValue(id, out var value)) { return((T)value); } throw new ArgumentException($"Service {typeof(T).FullName} isn't registered.", nameof(id)); }
public void Register <T>(ServiceId <T> id, T service) { _services.Add(id, service); }