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 という 2 番目のクラスを追加する必要があります。このクラスは、文字列を受け取り、それを任意の型に変換します。実装したら、構成ファイルで次のようなことができます。

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

そこから、それはうまくいくはずです(構成が他の型と同じように型コンバーターを見つけることができると仮定します)。

于 2010-08-29T06:48:12.887 に答える