Class DependencyContainer
A dependency injection container
Inheritance
Namespace: OpenAPI.Plugins
Assembly: OpenAPI.dll
Syntax
public class DependencyContainer : object
Constructors
| Improve this Doc View SourceDependencyContainer()
Declaration
public DependencyContainer()
Methods
| Improve this Doc View SourceCreateInstanceOf(Type)
Use the DependencyContainer to create an instance for any type with a public constructor.
Declaration
public object CreateInstanceOf(Type type)
Parameters
Type | Name | Description |
---|---|---|
Type | type | The type of the instance to create |
Returns
Type | Description |
---|---|
System.Object | An instance of |
CreateInstanceOf<TType>()
Use the DependencyContainer to create an instance for any type with a public constructor.
Declaration
public TType CreateInstanceOf<TType>()
Returns
Type | Description |
---|---|
TType |
Type Parameters
Name | Description |
---|---|
TType |
Register<TType>(DependencyLifetime)
Registers a new service
Declaration
public void Register<TType>(DependencyLifetime lifetime = DependencyLifetime.Singleton)
Parameters
Type | Name | Description |
---|---|---|
DependencyLifetime | lifetime | How long to keep the service alive for |
Type Parameters
Name | Description |
---|---|
TType | The type of service to register |
Exceptions
Type | Condition |
---|---|
DuplicateTypeException | Thrown when a service of the same type has already been registered |
RegisterSingleton(Type, Object)
Registers a new singleton service
Declaration
public void RegisterSingleton(Type type, object value)
Parameters
Type | Name | Description |
---|---|---|
Type | type | |
System.Object | value |
RegisterSingleton<TType>(TType)
Registers a new singleton service
Declaration
public void RegisterSingleton<TType>(TType value)
Parameters
Type | Name | Description |
---|---|---|
TType | value | The instance to use for dependency injection |
Type Parameters
Name | Description |
---|---|
TType | The type of service to register |
Exceptions
Type | Condition |
---|---|
DuplicateTypeException | Thrown when a service of the same type has already been registered |
Remove(Type)
Remove a service from dependency injection
Declaration
public void Remove(Type type)
Parameters
Type | Name | Description |
---|---|---|
Type | type |
Remove<TType>()
Remove a service from dependency injection
Declaration
public void Remove<TType>()
Type Parameters
Name | Description |
---|---|
TType |
Resolve(Type)
Resolve a service
Declaration
public object Resolve(Type type)
Parameters
Type | Name | Description |
---|---|---|
Type | type |
Returns
Type | Description |
---|---|
System.Object | The resolved service |
Resolve<TType>()
Resolve a service
Declaration
public TType Resolve<TType>()
Returns
Type | Description |
---|---|
TType | The resolved service |
Type Parameters
Name | Description |
---|---|
TType | The type to resolve. |
TryResolve(Type, out Object)
Tries to resolve a service
Declaration
public bool TryResolve(Type type, out object dependency)
Parameters
Type | Name | Description |
---|---|---|
Type | type | The type of service to resolve |
System.Object | dependency | The resolved service. |
Returns
Type | Description |
---|---|
System.Boolean | Whether the service was able to be resolved or not |
TryResolve<TType>(out TType)
Tries to resolve a service
Declaration
public bool TryResolve<TType>(out TType dependency)
Parameters
Type | Name | Description |
---|---|---|
TType | dependency | The resolved service. |
Returns
Type | Description |
---|---|
System.Boolean | Whether the service was able to be resolved or not |
Type Parameters
Name | Description |
---|---|
TType | The type of service to resolve |