In This Article

IServiceLocator Interface

Provides the base requirements for an object that can store and provide services.

public interface IServiceLocator

Remarks

When calling the non-generic methods on this interface, the object key used to register the service should generally be a Type instance.

Properties

SyncRoot

An object that can be used to synchronize access to the services.

object SyncRoot { get; }

Property Value

object

Methods

GetAllServiceTypes()

Returns a collection of all the service types that have been registered.

IEnumerable<object> GetAllServiceTypes()

Returns

IEnumerable<object>

GetService(object)

Returns the service that has been registered with the specified type.

object? GetService(object serviceType)
Parameter Type Description
serviceType object

The type of service to return.

Returns

object

GetService<T>()

Returns the service that has been registered with the specified type.

T? GetService<T>()
Type Parameters:
T -

The type of service to return.

Returns

T

RegisterService(object, object)

Registers a service instance for the specified service type.

void RegisterService(object serviceType, object service)
Parameter Type Description
serviceType object

The type of service.

service object

The service object instance.

RegisterService<T>(T)

Registers a service instance for the specified service type.

void RegisterService<T>(T service)
Type Parameters:
T -

The type of service.

Parameter Type Description
service T

The service object instance.

UnregisterService(object)

Unregisters a service of the specified service type.

void UnregisterService(object serviceType)
Parameter Type Description
serviceType object

The type of service.

UnregisterService<T>()

Unregisters a service of the specified service type.

void UnregisterService<T>()
Type Parameters:
T -

The type of service.

Events

ServiceAdded

Occurs after a service is added to the object.

event EventHandler<CollectionChangeEventArgs<object>> ServiceAdded

Event Type

EventHandler<CollectionChangeEventArgs<object>>

ServiceRemoved

Occurs after a service is removed from the object.

event EventHandler<CollectionChangeEventArgs<object>> ServiceRemoved

Event Type

EventHandler<CollectionChangeEventArgs<object>>

Extension Methods