Castle Windsor的打字工厂的不同参数类型

时间:2018-06-12 23:47:36

标签: inversion-of-control castle-windsor typed-factory-facility

给定这样的界面:

public interface IFooFactory
{
  IFoo Create();
  void Release(IBar bar);
}

并假设IFoo必须实现IBar,Castle Windsor将知道如何处理对象,或者我们是否创建了对象类型不完全相同的任何问题?文档没有说明是否支持这种方式。

1 个答案:

答案 0 :(得分:1)

是的,它会。释放方法中声明的类型对温莎来说并不重要。因此,以下所有方法都具有相同的行为:

void Release(IBar obj)
void ReleaseMe(IFoo obj)
void Exterminate(Object obj)

在创建和发布方法中使用不同的类型可能会让最终使用IFooFactory的人感到有点困惑。