C# Класс Castle.MicroKernel.Resolvers.DefaultDependencyResolver

Наследование: IDependencyResolver
Показать файл Открыть проект

Открытые методы

Метод Описание
AddSubResolver ( ISubDependencyResolver subResolver ) : void

Registers a sub resolver instance

CanResolve ( CreationContext context, ISubDependencyResolver contextHandlerResolver, ComponentModel model, DependencyModel dependency ) : bool

Returns true if the resolver is able to satisfy the specified dependency.

Initialize ( IKernel kernel, DependencyDelegate dependencyDelegate ) : void

Initializes this instance with the specified dependency delegate.

RemoveSubResolver ( ISubDependencyResolver subResolver ) : void

Unregisters a sub resolver instance previously registered

Resolve ( CreationContext context, ISubDependencyResolver contextHandlerResolver, ComponentModel model, DependencyModel dependency ) : object

Try to resolve the dependency by checking the parameters in the model or checking the Kernel for the requested service.

The dependency resolver has the following precedence order: The dependency is checked within the CreationContext The dependency is checked within the IHandler instance for the component The dependency is checked within the registered ISubDependencyResolver s Finally the resolver tries the normal flow which is using the configuration or other component to satisfy the dependency

Защищенные методы

Метод Описание
CanResolveParameterDependency ( ComponentModel model, DependencyModel dependency ) : bool
CanResolveServiceDependency ( CreationContext context, ComponentModel model, DependencyModel dependency ) : bool
ExtractComponentKey ( String keyValue, String name ) : String

Extracts the component name from the a ref strings which is ${something}

ObtainParameterModelMatchingDependency ( DependencyModel dependency, ComponentModel model ) : ParameterModel
RebuildContextForParameter ( CreationContext current, Type parameterType ) : CreationContext

This method rebuild the context for the parameter type. Naive implementation.

ResolveParameterDependency ( CreationContext context, ComponentModel model, DependencyModel dependency ) : object
ResolveServiceDependency ( CreationContext context, ComponentModel model, DependencyModel dependency ) : object

Приватные методы

Метод Описание
GetParameterModelByType ( Type type, ComponentModel model ) : ParameterModel
HasComponentInValidState ( CreationContext context, Type service ) : bool
HasComponentInValidState ( string key ) : bool
IsHandlerInValidState ( IHandler handler ) : bool
ObtainParameterModelByKey ( DependencyModel dependency, ComponentModel model ) : ParameterModel
ObtainParameterModelByType ( DependencyModel dependency, ComponentModel model ) : ParameterModel
RaiseDependencyResolving ( ComponentModel model, DependencyModel dependency, object value ) : void
TryGetHandlerFromKernel ( DependencyModel dependency, CreationContext context ) : IHandler

Описание методов

AddSubResolver() публичный Метод

Registers a sub resolver instance
public AddSubResolver ( ISubDependencyResolver subResolver ) : void
subResolver ISubDependencyResolver The subresolver instance
Результат void

CanResolve() публичный Метод

Returns true if the resolver is able to satisfy the specified dependency.
public CanResolve ( CreationContext context, ISubDependencyResolver contextHandlerResolver, ComponentModel model, DependencyModel dependency ) : bool
context Castle.MicroKernel.Context.CreationContext Creation context, which is a resolver itself
contextHandlerResolver ISubDependencyResolver Parent resolver
model Castle.Core.ComponentModel Model of the component that is requesting the dependency
dependency Castle.Core.DependencyModel The dependency model
Результат bool

CanResolveParameterDependency() защищенный Метод

protected CanResolveParameterDependency ( ComponentModel model, DependencyModel dependency ) : bool
model Castle.Core.ComponentModel
dependency Castle.Core.DependencyModel
Результат bool

CanResolveServiceDependency() защищенный Метод

protected CanResolveServiceDependency ( CreationContext context, ComponentModel model, DependencyModel dependency ) : bool
context Castle.MicroKernel.Context.CreationContext
model Castle.Core.ComponentModel
dependency Castle.Core.DependencyModel
Результат bool

ExtractComponentKey() защищенный Метод

Extracts the component name from the a ref strings which is ${something}
protected ExtractComponentKey ( String keyValue, String name ) : String
keyValue String
name String
Результат String

Initialize() публичный Метод

Initializes this instance with the specified dependency delegate.
public Initialize ( IKernel kernel, DependencyDelegate dependencyDelegate ) : void
kernel IKernel kernel
dependencyDelegate DependencyDelegate The dependency delegate.
Результат void

ObtainParameterModelMatchingDependency() защищенный Метод

protected ObtainParameterModelMatchingDependency ( DependencyModel dependency, ComponentModel model ) : ParameterModel
dependency Castle.Core.DependencyModel
model Castle.Core.ComponentModel
Результат Castle.Core.ParameterModel

RebuildContextForParameter() защищенный Метод

This method rebuild the context for the parameter type. Naive implementation.
protected RebuildContextForParameter ( CreationContext current, Type parameterType ) : CreationContext
current Castle.MicroKernel.Context.CreationContext
parameterType System.Type
Результат Castle.MicroKernel.Context.CreationContext

RemoveSubResolver() публичный Метод

Unregisters a sub resolver instance previously registered
public RemoveSubResolver ( ISubDependencyResolver subResolver ) : void
subResolver ISubDependencyResolver The subresolver instance
Результат void

Resolve() публичный Метод

Try to resolve the dependency by checking the parameters in the model or checking the Kernel for the requested service.
The dependency resolver has the following precedence order: The dependency is checked within the CreationContext The dependency is checked within the IHandler instance for the component The dependency is checked within the registered ISubDependencyResolver s Finally the resolver tries the normal flow which is using the configuration or other component to satisfy the dependency
public Resolve ( CreationContext context, ISubDependencyResolver contextHandlerResolver, ComponentModel model, DependencyModel dependency ) : object
context Castle.MicroKernel.Context.CreationContext Creation context, which is a resolver itself
contextHandlerResolver ISubDependencyResolver Parent resolver
model Castle.Core.ComponentModel Model of the component that is requesting the dependency
dependency Castle.Core.DependencyModel The dependency model
Результат object

ResolveParameterDependency() защищенный Метод

protected ResolveParameterDependency ( CreationContext context, ComponentModel model, DependencyModel dependency ) : object
context Castle.MicroKernel.Context.CreationContext
model Castle.Core.ComponentModel
dependency Castle.Core.DependencyModel
Результат object

ResolveServiceDependency() защищенный Метод

protected ResolveServiceDependency ( CreationContext context, ComponentModel model, DependencyModel dependency ) : object
context Castle.MicroKernel.Context.CreationContext
model Castle.Core.ComponentModel
dependency Castle.Core.DependencyModel
Результат object