给定这样的界面:
public interface IFooFactory
{
IFoo Create();
void Release(IBar bar);
}
并假设IFoo
必须实现IBar
,Castle Windsor将知道如何处理对象,或者我们是否创建了对象类型不完全相同的任何问题?文档没有说明是否支持这种方式。
答案 0 :(得分:1)
是的,它会。释放方法中声明的类型对温莎来说并不重要。因此,以下所有方法都具有相同的行为:
void Release(IBar obj)
void ReleaseMe(IFoo obj)
void Exterminate(Object obj)
在创建和发布方法中使用不同的类型可能会让最终使用IFooFactory
的人感到有点困惑。