C# 温莎城堡国际奥委会财产注入。在子类构造函数中使用基类中的属性

C# 温莎城堡国际奥委会财产注入。在子类构造函数中使用基类中的属性,c#,inversion-of-control,castle-windsor,property-injection,C#,Inversion Of Control,Castle Windsor,Property Injection,我有一个基类,如下所示 public class BaseClass { public ISomeObject Property { get; set; } } 和从基类继承的ChildClass。我需要在ChildClass构造函数中使用来自基类的属性,但它并没有像我所希望的那样由IoC初始化,并且值为null。若我在ChildClass的方法中使用它,则初始化属性。 我做错了什么 下面是如何在IoC容器中注册ISomeObject container.Register( Com

我有一个基类,如下所示

public class BaseClass
{ 
    public ISomeObject Property { get; set; } 
}
和从基类继承的ChildClass。我需要在ChildClass构造函数中使用来自基类的属性,但它并没有像我所希望的那样由IoC初始化,并且值为null。若我在ChildClass的方法中使用它,则初始化属性。 我做错了什么

下面是如何在IoC容器中注册ISomeObject

container.Register(
Component.For<ISomeObject>()
.ImplementedBy<WebSomeObject>().LifestyleSingleton());
container.Register(
用于()的组件
.ImplementedBy().LifestyleSingleton());

这不是Castle Windsor的问题,而是.NET的工作方式。构造函数作为.NET framework实例化类的新实例的一部分运行。只有在构造完成后,其他代码(如Windsor)才能在其上设置属性或执行方法


如果希望
属性
在子类构造函数中可用,则需要将其作为参数添加到
基类
构造函数中,并在子类上设置匹配的构造函数。

您的配置看起来如何?您是指如何在IoC容器中注册它?等一下我将编辑我的帖子