2

我这样写了我的 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>
4

1 回答 1

0

您需要添加第二个类:TypeConverter。此类负责获取字符串并将其转换为您想要的任何类型。一旦你实现了它,你就可以在你的配置文件中做这样的事情:

<register type="MyType" mapTo"MyImpl">
  <lifetime typeConverter="CustomLifetimeManagerConverter" value="arg" />
</register>

从那里它应该可以工作(假设配置可以像任何其他类型一样找到类型转换器)。

于 2010-08-29T06:48:12.887 回答