Interface IServiceRegistry
Shared, type-keyed registry for passing services between modules. A module provides services it owns (in setup) and resolves services from its dependencies. Because the host sets modules up in dependency order, a module can resolve a hard-dependency's services in its own setup; services produced later (e.g. after a preload) are resolved lazily at point of use.
public interface IServiceRegistry
Methods
Provide<TService>(TService)
Register a service instance under TService. Throws if already provided.
void Provide<TService>(TService service) where TService : class
Parameters
serviceTService
Type Parameters
TService
Resolve<TService>()
Resolve a required service; throws if none is registered.
TService Resolve<TService>() where TService : class
Returns
- TService
Type Parameters
TService
TryResolve<TService>(out TService?)
Resolve an optional service.
bool TryResolve<TService>(out TService? service) where TService : class
Parameters
serviceTService
Returns
Type Parameters
TService