Castle Windsor:抑制Resolve抛出的异常()

Rem*_*Ros 10 .net castle-windsor

解析Windsor容器找不到的组件时,会抛出异常.

StructureMap有一个TryGetInstance方法,它返回null无法找到所请求的组件.

Castle Windsor有这样的吗?或者我被迫捕获这些异常(我不喜欢这样,因为抛出和捕获异常的性能开销).

提前致谢,

REMCO

小智 12

在调用Windsor容器的Resolve方法之前,您可以检查MicroKernel是否具有已注册组件的实例.

像下面这样的东西应该工作.

if ( windsor.Kernel.HasComponent( componentType ) )
{
    return windsor.Resolve( componentType );
}

return null;
Run Code Online (Sandbox Code Playgroud)

  • 是的,但它没有按名称和类型重载.只有一个用于名称,一个用于类型. (3认同)