Class IServiceCollectionAdvancedExtensions
Defines advanced extensions for the IServiceCollection interface.
Inheritance
Namespace: Solti.Utils.DI
Assembly: Solti.Utils.DI.dll
Syntax
public static class IServiceCollectionAdvancedExtensions : Object
Methods
Decorate(IServiceCollection, IEnumerable<(Type, Object)>)
Hooks into the instantiating process to let you decorate the original service. Useful when you want to add additional functionality (e.g. parameter validation).
Declaration
public static IServiceCollection Decorate(this IServiceCollection self, IEnumerable<(Type, object)> interceptors)
Parameters
| Type | Name | Description |
|---|---|---|
| IServiceCollection | self | The target IServiceCollection. |
| System.Collections.Generic.IEnumerable<System.ValueTuple<System.Type, System.Object>> | interceptors | The interceptors to be applied. |
Returns
| Type | Description |
|---|---|
| IServiceCollection |
Remarks
Exceptions
| Type | Condition |
|---|---|
| System.NotSupportedException | When proxying is not allowed (see remarks). |
Decorate(IServiceCollection, Type)
Hooks into the instantiating process to let you decorate the original service. Useful when you want to add additional functionality (e.g. parameter validation).
Declaration
public static IServiceCollection Decorate(this IServiceCollection self, Type interceptor)
Parameters
| Type | Name | Description |
|---|---|---|
| IServiceCollection | self | The target IServiceCollection. |
| System.Type | interceptor | The interceptor type. |
Returns
| Type | Description |
|---|---|
| IServiceCollection |
Remarks
Exceptions
| Type | Condition |
|---|---|
| System.NotSupportedException | When proxying is not allowed (see remarks). |
Decorate(IServiceCollection, Type, Object)
Hooks into the instantiating process to let you decorate the original service. Useful when you want to add additional functionality (e.g. parameter validation).
Declaration
public static IServiceCollection Decorate(this IServiceCollection self, Type interceptor, object explicitArgs)
Parameters
| Type | Name | Description |
|---|---|---|
| IServiceCollection | self | The target IServiceCollection. |
| System.Type | interceptor | The interceptor type. |
| System.Object | explicitArgs | Explicit arguments to be passed. |
Returns
| Type | Description |
|---|---|
| IServiceCollection |
Remarks
Exceptions
| Type | Condition |
|---|---|
| System.NotSupportedException | When proxying is not allowed (see remarks). |
Decorate(IServiceCollection, Type, Object, IEnumerable<(Type, Object)>)
Hooks into the instantiating process to let you decorate the original service. Useful when you want to add additional functionality (e.g. parameter validation).
Declaration
public static IServiceCollection Decorate(this IServiceCollection self, Type type, object key, IEnumerable<(Type, object)> interceptors)
Parameters
| Type | Name | Description |
|---|---|---|
| IServiceCollection | self | The target IServiceCollection. |
| System.Type | type | The service type. |
| System.Object | key | The (optional) service key (usually a name). |
| System.Collections.Generic.IEnumerable<System.ValueTuple<System.Type, System.Object>> | interceptors | Interceptors to be applied. |
Returns
| Type | Description |
|---|---|
| IServiceCollection |
Remarks
Exceptions
| Type | Condition |
|---|---|
| System.NotSupportedException | When proxying is not allowed (see remarks). |
Decorate(IServiceCollection, Type, Object, Type)
Hooks into the instantiating process to let you decorate the original service. Useful when you want to add additional functionality (e.g. parameter validation).
Declaration
public static IServiceCollection Decorate(this IServiceCollection self, Type type, object key, Type interceptor)
Parameters
| Type | Name | Description |
|---|---|---|
| IServiceCollection | self | The target IServiceCollection. |
| System.Type | type | The service type. |
| System.Object | key | The (optional) service key (usually a name). |
| System.Type | interceptor | The interceptor type. |
Returns
| Type | Description |
|---|---|
| IServiceCollection |
Remarks
Exceptions
| Type | Condition |
|---|---|
| System.NotSupportedException | When proxying is not allowed (see remarks). |
Decorate(IServiceCollection, Type, Object, Type, Object)
Hooks into the instantiating process to let you decorate the original service. Useful when you want to add additional functionality (e.g. parameter validation).
Declaration
public static IServiceCollection Decorate(this IServiceCollection self, Type type, object key, Type interceptor, object explicitArgs)
Parameters
| Type | Name | Description |
|---|---|---|
| IServiceCollection | self | The target IServiceCollection. |
| System.Type | type | The service type. |
| System.Object | key | The (optional) service key (usually a name). |
| System.Type | interceptor | The interceptor type. |
| System.Object | explicitArgs | Explicit arguments to be passed. |
Returns
| Type | Description |
|---|---|
| IServiceCollection |
Remarks
Exceptions
| Type | Condition |
|---|---|
| System.NotSupportedException | When proxying is not allowed (see remarks). |
Decorate(IServiceCollection, Type, Object, Type[])
Hooks into the instantiating process to let you decorate the original service. Useful when you want to add additional functionality (e.g. parameter validation).
Declaration
public static IServiceCollection Decorate(this IServiceCollection self, Type type, object key, params Type[] interceptors)
Parameters
| Type | Name | Description |
|---|---|---|
| IServiceCollection | self | The target IServiceCollection. |
| System.Type | type | The service type. |
| System.Object | key | The (optional) service key (usually a name). |
| System.Type[] | interceptors | Interceptors to be applied. |
Returns
| Type | Description |
|---|---|
| IServiceCollection |
Remarks
Exceptions
| Type | Condition |
|---|---|
| System.NotSupportedException | When proxying is not allowed (see remarks). |
Decorate(IServiceCollection, Type, Object, (Type, Object)[])
Hooks into the instantiating process to let you decorate the original service. Useful when you want to add additional functionality (e.g. parameter validation).
Declaration
public static IServiceCollection Decorate(this IServiceCollection self, Type type, object key, params (Type, object)[] interceptors)
Parameters
| Type | Name | Description |
|---|---|---|
| IServiceCollection | self | The target IServiceCollection. |
| System.Type | type | The service type. |
| System.Object | key | The (optional) service key (usually a name). |
| System.ValueTuple<System.Type, System.Object>[] | interceptors | Interceptors to be applied. |
Returns
| Type | Description |
|---|---|
| IServiceCollection |
Remarks
Exceptions
| Type | Condition |
|---|---|
| System.NotSupportedException | When proxying is not allowed (see remarks). |
Decorate(IServiceCollection, Type, Type)
Hooks into the instantiating process to let you decorate the original service. Useful when you want to add additional functionality (e.g. parameter validation).
Declaration
public static IServiceCollection Decorate(this IServiceCollection self, Type type, Type interceptor)
Parameters
| Type | Name | Description |
|---|---|---|
| IServiceCollection | self | The target IServiceCollection. |
| System.Type | type | The service type. |
| System.Type | interceptor | The interceptor type. |
Returns
| Type | Description |
|---|---|
| IServiceCollection |
Remarks
Exceptions
| Type | Condition |
|---|---|
| System.NotSupportedException | When proxying is not allowed (see remarks). |
Decorate(IServiceCollection, Type, Type, Object)
Hooks into the instantiating process to let you decorate the original service. Useful when you want to add additional functionality (e.g. parameter validation).
Declaration
public static IServiceCollection Decorate(this IServiceCollection self, Type type, Type interceptor, object explicitArgs)
Parameters
| Type | Name | Description |
|---|---|---|
| IServiceCollection | self | The target IServiceCollection. |
| System.Type | type | The service type. |
| System.Type | interceptor | The interceptor type. |
| System.Object | explicitArgs | Explicit arguments to be passed. |
Returns
| Type | Description |
|---|---|
| IServiceCollection |
Remarks
Exceptions
| Type | Condition |
|---|---|
| System.NotSupportedException | When proxying is not allowed (see remarks). |
Decorate(IServiceCollection, Type[])
Hooks into the instantiating process to let you decorate the original service. Useful when you want to add additional functionality (e.g. parameter validation).
Declaration
public static IServiceCollection Decorate(this IServiceCollection self, params Type[] interceptors)
Parameters
| Type | Name | Description |
|---|---|---|
| IServiceCollection | self | The target IServiceCollection. |
| System.Type[] | interceptors | The interceptors to be applied. |
Returns
| Type | Description |
|---|---|
| IServiceCollection |
Remarks
Exceptions
| Type | Condition |
|---|---|
| System.NotSupportedException | When proxying is not allowed (see remarks). |
Decorate(IServiceCollection, (Type, Object)[])
Hooks into the instantiating process to let you decorate the original service. Useful when you want to add additional functionality (e.g. parameter validation).
Declaration
public static IServiceCollection Decorate(this IServiceCollection self, params (Type, object)[] interceptors)
Parameters
| Type | Name | Description |
|---|---|---|
| IServiceCollection | self | The target IServiceCollection. |
| System.ValueTuple<System.Type, System.Object>[] | interceptors | The interceptors to be applied. |
Returns
| Type | Description |
|---|---|
| IServiceCollection |
Remarks
Exceptions
| Type | Condition |
|---|---|
| System.NotSupportedException | When proxying is not allowed (see remarks). |
Decorate<TInterceptor>(IServiceCollection)
Hooks into the instantiating process to let you decorate the original service. Useful when you want to add additional functionality (e.g. parameter validation).
Declaration
public static IServiceCollection Decorate<TInterceptor>(this IServiceCollection self)
where TInterceptor : IInterfaceInterceptor
Parameters
| Type | Name | Description |
|---|---|---|
| IServiceCollection | self | The target IServiceCollection. |
Returns
| Type | Description |
|---|---|
| IServiceCollection |
Type Parameters
| Name | Description |
|---|---|
| TInterceptor |
Remarks
Exceptions
| Type | Condition |
|---|---|
| System.NotSupportedException | When proxying is not allowed (see remarks). |
Decorate<TType, TInterceptor>(IServiceCollection)
Hooks into the instantiating process to let you decorate the original service. Useful when you want to add additional functionality (e.g. parameter validation).
Declaration
public static IServiceCollection Decorate<TType, TInterceptor>(this IServiceCollection self)
where TType : class where TInterceptor : IInterfaceInterceptor
Parameters
| Type | Name | Description |
|---|---|---|
| IServiceCollection | self | The target IServiceCollection. |
Returns
| Type | Description |
|---|---|
| IServiceCollection |
Type Parameters
| Name | Description |
|---|---|
| TType | |
| TInterceptor |
Remarks
Exceptions
| Type | Condition |
|---|---|
| System.NotSupportedException | When proxying is not allowed (see remarks). |
Decorate<TType, TInterceptor>(IServiceCollection, Object)
Hooks into the instantiating process to let you decorate the original service. Useful when you want to add additional functionality (e.g. parameter validation).
Declaration
public static IServiceCollection Decorate<TType, TInterceptor>(this IServiceCollection self, object key)
where TType : class where TInterceptor : IInterfaceInterceptor
Parameters
| Type | Name | Description |
|---|---|---|
| IServiceCollection | self | The target IServiceCollection. |
| System.Object | key | The (optional) service key (usually a name). |
Returns
| Type | Description |
|---|---|
| IServiceCollection |
Type Parameters
| Name | Description |
|---|---|
| TType | |
| TInterceptor |
Remarks
Exceptions
| Type | Condition |
|---|---|
| System.NotSupportedException | When proxying is not allowed (see remarks). |
Decorate<TType, TInterceptor>(IServiceCollection, Object, Object)
Hooks into the instantiating process to let you decorate the original service. Useful when you want to add additional functionality (e.g. parameter validation).
Declaration
public static IServiceCollection Decorate<TType, TInterceptor>(this IServiceCollection self, object key, object explicitArgs)
where TType : class where TInterceptor : IInterfaceInterceptor
Parameters
| Type | Name | Description |
|---|---|---|
| IServiceCollection | self | The target IServiceCollection. |
| System.Object | key | The (optional) service key (usually a name). |
| System.Object | explicitArgs | Explicit arguments to be passed. |
Returns
| Type | Description |
|---|---|
| IServiceCollection |
Type Parameters
| Name | Description |
|---|---|
| TType | |
| TInterceptor |
Remarks
Exceptions
| Type | Condition |
|---|---|
| System.NotSupportedException | When proxying is not allowed (see remarks). |
Instance(IServiceCollection, Type, Object, ServiceOptions)
Registers a pre-created instance. Useful to creating "constant" values (e.g. command-line arguments).
Declaration
public static IServiceCollection Instance(this IServiceCollection self, Type type, object instance, ServiceOptions options = null)
Parameters
| Type | Name | Description |
|---|---|---|
| IServiceCollection | self | The target IServiceCollection. |
| System.Type | type | The service type to be registered. It can not be null and can be registered only once. |
| System.Object | instance | The pre-created instance to be registered. It can not be null and must implement the |
| ServiceOptions | options | Options to be assigned to the service being registered. |
Returns
| Type | Description |
|---|---|
| IServiceCollection |
Instance(IServiceCollection, Type, Object, Object, ServiceOptions)
Registers a pre-created instance. Useful to creating "constant" values (e.g. command-line arguments).
Declaration
public static IServiceCollection Instance(this IServiceCollection self, Type type, object key, object instance, ServiceOptions options = null)
Parameters
| Type | Name | Description |
|---|---|---|
| IServiceCollection | self | The target IServiceCollection. |
| System.Type | type | The service type to be registered. It can not be null and can be registered only once (with the given |
| System.Object | key | The (optional) service key (usually a name). |
| System.Object | instance | The pre-created instance to be registered. It can not be null and must implement the |
| ServiceOptions | options | Options to be assigned to the service being registered. |
Returns
| Type | Description |
|---|---|
| IServiceCollection |
Instance<TType>(IServiceCollection, TType, ServiceOptions)
Registers a pre-created instance. Useful when creating "constant" values (e.g. from command-line arguments).
Declaration
public static IServiceCollection Instance<TType>(this IServiceCollection self, TType instance, ServiceOptions options = null)
where TType : class
Parameters
| Type | Name | Description |
|---|---|---|
| IServiceCollection | self | The target IServiceCollection. |
| TType | instance | The pre-created instance to be registered. |
| ServiceOptions | options | Options to be assigned to the service being registered. |
Returns
| Type | Description |
|---|---|
| IServiceCollection |
Type Parameters
| Name | Description |
|---|---|
| TType | The service type to be registered. It can be registered only once. |
Instance<TType>(IServiceCollection, Object, TType, ServiceOptions)
Registers a pre-created instance. Useful when creating "constant" values (e.g. from command-line arguments).
Declaration
public static IServiceCollection Instance<TType>(this IServiceCollection self, object key, TType instance, ServiceOptions options = null)
where TType : class
Parameters
| Type | Name | Description |
|---|---|---|
| IServiceCollection | self | The target IServiceCollection. |
| System.Object | key | The (optional) service key (usually a name). |
| TType | instance | The pre-created instance to be registered. |
| ServiceOptions | options | Options to be assigned to the service being registered. |
Returns
| Type | Description |
|---|---|
| IServiceCollection |
Type Parameters
| Name | Description |
|---|---|
| TType | The service type to be registered. It can be registered only once (with the given |
SetupScopeLocal(IServiceCollection, Type)
Registers a slot for a scope-local variable. Scope-locals are instances (for example the HTTP request object) provided by the current session.
Declaration
public static IServiceCollection SetupScopeLocal(this IServiceCollection self, Type type)
Parameters
| Type | Name | Description |
|---|---|---|
| IServiceCollection | self | The target IServiceCollection. |
| System.Type | type | The service type to be registered. It can not be null and can be registered only once. |
Returns
| Type | Description |
|---|---|
| IServiceCollection |
SetupScopeLocal(IServiceCollection, Type, Object)
Registers a slot for a scope-local variable. Scope-locals are instances (for example the HTTP request object) provided by the current session.
Declaration
public static IServiceCollection SetupScopeLocal(this IServiceCollection self, Type type, object key)
Parameters
| Type | Name | Description |
|---|---|---|
| IServiceCollection | self | The target IServiceCollection. |
| System.Type | type | The service type to be registered. It can not be null and can be registered only once (with the given |
| System.Object | key | The (optional) service key (usually a name). |
Returns
| Type | Description |
|---|---|
| IServiceCollection |
SetupScopeLocal<TType>(IServiceCollection)
Registers a slot for a scope-local variable. Scope-locals are instances (for example the HTTP request object) provided by the current session.
Declaration
public static IServiceCollection SetupScopeLocal<TType>(this IServiceCollection self)
Parameters
| Type | Name | Description |
|---|---|---|
| IServiceCollection | self | The target IServiceCollection. |
Returns
| Type | Description |
|---|---|
| IServiceCollection |
Type Parameters
| Name | Description |
|---|---|
| TType |
SetupScopeLocal<TType>(IServiceCollection, Object)
Registers a slot for a scope-local variable. Scope-locals are instances (for example the HTTP request object) provided by the current session.
Declaration
public static IServiceCollection SetupScopeLocal<TType>(this IServiceCollection self, object key)
Parameters
| Type | Name | Description |
|---|---|---|
| IServiceCollection | self | The target IServiceCollection. |
| System.Object | key | The (optional) service key (usually a name). |
Returns
| Type | Description |
|---|---|
| IServiceCollection |
Type Parameters
| Name | Description |
|---|---|
| TType |