考虑以下类别:

public class ComponentA
{
    public ComponentB ComponentB { get; set; }

    public ComponentA(ComponentC componentC) { ... }
}


当我解析ComponentA时,Castle会正确注入ComponentBComponentC

但是,如果在实例化ComponentB时遇到问题,它将吞下该异常,从而导致延迟的错误(NullReferenceException)。

我了解这两种方法之间的区别,但是当注入的属性存在问题时,是否有可能使其失败(或至少记录完整的异常)?

最佳答案

基于Mauricio's answer到Phil链接的问题,我创建了一个StrictComponentActivator,即使依赖项是可选的,它也不会吞下异常。

可以正常工作。

09-25 21:31