我有一个简单的 SM 注册表,我在其中配置所有 IDynamicValue 实例。我有一些非原始类型的构造函数参数(在我的例子中是 DateTime 和 Predicate Of T)。有没有一种方法可以注入这些而不必将它们包装在具有接口的类中(因此它们可以自动连接)。以下代码片段显示了我想要完成的任务:
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 异常代码:202 没有为 PluginFamily System.DateTime 定义默认实例
谢谢,尼克
编辑:
Freddy Rios 解决方案非常适合我的需要。如果我自动连接一些构造函数参数,我仍然很好奇是否有这样做的方法(因此不能使用 ConstructedBy())