1
私はIDynamicValueのすべてのインスタンスを構成するシンプルなSM Registryを持っています。私は非プリミティブ型(私の場合はDateTimeとTの述語)であるいくつかのコンストラクタ引数を持っています。インターフェイスを持つクラスにラップする必要なく、これらを挿入できる方法はありますか(つまり、自動配線が可能です)。たとえば、実行されることを構造体マップのintefaceにラップせずに非プリミティブ型を挿入する
ForRequestedType<IDynamicValue>().AddInstances(x =>
{
x.OfConcreteType<DateTimeGenerator>().WithName("DateTime")
.WithCtorArg("keyName").EqualTo("DateTime")
.WithCtorArg("startDate").EqualTo(DateTime.Now.AddMonths(-1))
.WithCtorArg("minuteIntervalDelta").EqualTo(60);
});
が、例外で失敗します:次のコードスニペットは、私が達成したいかを示し
のStructureMap例外コード:PluginFamilyのSystem.DateTime
ために定義された202 Noデフォルトインスタンスおかげで、 ニック
EDIT:
フレディリオスのソリューションは、私が必要とするものに最適でした。コンストラクタの引数を自動配線している(したがってConstructedBy()を使用できなかった)場合、これを行う方法があるかどうか不思議です。
...同じ問題が発生しました。 – ozczecho