【发布时间】:2010-11-08 20:24:36
【问题描述】:
我有一个相当直截了当的场景,我正在尝试解决,但我在 Windsor 上遇到了几堵砖墙 - 也许我试图以错误的方式解决问题?
我有一个名为 Foo 的类型如下:
public class Foo
{
[NonSerialized]
private IBar bar;
public IBar Bar
{
get { return this.bar; }
set { this.bar = value; }
}
public Foo(IBar bar)
{
}
}
我以正常方式通过容器实例化:
var myFoo = container.Resolve<Foo>();
依赖项 IBar 在容器中注册,并在创建对象时得到解析。现在类型已经创建好了,我需要序列化它,我不想序列化 IBar,所以它被标记了一个 NonSerialized 属性。
然后我需要反序列化对象并将其返回到以前的状态。我如何通过温莎城堡实现这一目标?我已经有一个实例,只是缺少它的依赖项。
如果我使用 Unity,我会使用 BuildUp() 来解决问题,但在这种情况下我想使用 Castle Windsor。
【问题讨论】:
标签: c# dependency-injection castle-windsor