namespace AlicizaX { public interface IServiceRegistry { T RegisterSelf(T service) where T : class, IService; TContract Register(IService service) where TContract : class, IService; bool TryGet(out T service) where T : class, IService; T Require() where T : class, IService; } }