使用structuremap在运行时将对象传递给类构造函数

我的项目中有以下课程:

public partial class MyForm : BaseForm,IMyInterface
{
    public MyForm(MyDto dto)
    {
        _dto = dto;
        InitializeComponent();
    }
}

,并使用以下代码在structuremap中进行注册:

ObjectFactory.Configure(x => x.For<IMyInterface>()
            .Use<MyForm>()
            .Ctor<MyDto>("MyDto"));

当我想使用该类时,我使用了以下代码:

var dto = new MyDto(){
            Id = 43,From = DateTime.Now(),To = DateTime.Now().AddDays(1)};

IMyInterface frm = ObjectFactory.Container.With("MyDto")
                   .EqualTo(dto).GetInstance<IMyInterface>();

但是传递给dto的{​​{1}}值与我传递的{frm,....)不同,它是Id = 43的默认值class(MyDto,...)。 问题出在哪里?

iCMS 回答:使用structuremap在运行时将对象传递给类构造函数

我使用以下代码解决了这个问题:

IMyInterface frm = ObjectFactory.Container
                   .With<MyDto>(dto)
                   .GetInstance<IMyInterface>();
本文链接:https://www.f2er.com/1701446.html

大家都在问