我写了这样的CustomLifetimeManager:
public class CustomLifetimeManager <T> : LifetimeManager
{
private readonly string _arg;
public CustomLifetimeManager(string arg)
{
_arg = arg;
}
}
现在,它可以通过编程方式轻松配置容器,但是如何将其添加到配置文件中,如下所示?
<type type="myTime"
mapTo="myImpl">
<lifetime type="CustomLifetimeManager"/>
</type>
答案 0 :(得分:0)
您需要添加第二个类:TypeConverter。该类负责获取字符串并将其转换为您想要的任何类型。实现后,您可以在配置文件中执行以下操作:
<register type="MyType" mapTo"MyImpl">
<lifetime typeConverter="CustomLifetimeManagerConverter" value="arg" />
</register>
从那里它应该工作(假设配置可以像任何其他类型一样找到类型转换器)。