Table of Contents

Interface IServiceRegistry

Namespace
Shard.Modding.SDK.Registry
Assembly
Shard.Modding.SDK.dll

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

service TService

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

service TService

Returns

bool

Type Parameters

TService