Unity構成ファイルで複数のコンストラクターを指定する方法。クラスが以下のように実装されている場合:
public abstract class classB : ClassA
{
private classC c;
protected ClassB()
{
c = new classC();
}
protected classB(classC value)
{
c = value;
}
}
また、Unityの構成ファイルでは、このようなものを指定できます。
<type name="ClassB" type="ClassB">
<lifetime type="PerWebRequest" />
<typeConfig extensionType="Microsoft.Practices.Unity.Configuration.TypeInjectionElement, Microsoft.Practices.Unity.Configuration">
<constructor>
</constructor>
</typeConfig>
</type>
しかし、ここで別のコンストラクタを指定し、デフォルトのコンストラクタの場合にプロパティに値を割り当てる方法は?
回答:
回答№1は0この要素は、複数のコンストラクターがある場合に呼び出される特定のコンストラクター(One)のみを指定していることを確認してください。 見る MSDN
これはプログラムによるアプローチに似ていると思います-[InjectionConstructor]では、属性で指定されたコンストラクターを使用するようにUnityに指示します。