代码之家  ›  专栏  ›  技术社区  ›  onof

Unity:在xml配置文件中将参数传递给自定义生存期构造函数

  •  2
  • onof  · 技术社区  · 14 年前

    public class CustomLifetimeManager <T> : LifetimeManager
    {
        private readonly string _arg;
    
        public CustomLifetimeManager(string arg)
        {
          _arg = arg;
        }
    }
    

    <type type="myTime"
          mapTo="myImpl">
          <lifetime type="CustomLifetimeManager"/>
    </type>
    
    1 回复  |  直到 14 年前
        1
  •  0
  •   Chris Tavares    14 年前

    您需要添加第二个类:TypeConverter。这个类负责获取一个字符串并将其转换为您想要的任何类型。一旦实现了它,就可以在配置文件中执行如下操作:

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

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