考虑以下类别:
public class ComponentA
{
public ComponentB ComponentB { get; set; }
public ComponentA(ComponentC componentC) { ... }
}
当我解析
ComponentA
时,Castle会正确注入ComponentB
和ComponentC
。但是,如果在实例化
ComponentB
时遇到问题,它将吞下该异常,从而导致延迟的错误(NullReferenceException)。我了解这两种方法之间的区别,但是当注入的属性存在问题时,是否有可能使其失败(或至少记录完整的异常)?
最佳答案
基于Mauricio's answer到Phil链接的问题,我创建了一个StrictComponentActivator
,即使依赖项是可选的,它也不会吞下异常。
可以正常工作。