我有这样一个情况,需要在运行时确定接口的实现。例如,我会检查一个字符串,然后决定使用哪个子类,如果没有IoC(控制反转),代码如下所示:
if (fruitStr == "Apple")
{
new AppleImpl().SomeMethod();
}
else
{
new BananaImpl().SomeMethod();
}
两个类 AppleImpl
和 BananaImpl
都是同一个接口 IFruit
的实现。
在 Castle Windsor 中,如何使用 IoC/依赖注入来实现这一点?