我声明了以下课程:

public class SeedData
{
    private IUow _uow;

    public SeedData(IUow uow)
    {
        _uow = uow;
    }

}


并在引导程序中:

container.RegisterType<IUow, Uow>();


我的代码尝试声明这样的实例:

var a = new SampleData.EF.SeedData();


但是我得到消息:

Error
'SampleData.EF.SeedData' does not contain a constructor that takes 0 arguments


有人可以解释我可以做些什么来使我的IoC为我创建Uow的实例。我要去吗
这是错误的方式吗?

最佳答案

您还应该将SeedData放入容器中:

container.RegisterType<SeedData>();


然后调用:

var a = container.Resolve<SeedData>();


而不是直接由new创建。通过这种方式,容器将自动为您注入IUow

关于c# - 为什么我的Unity IoC不为我创建类?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/15609791/

10-11 00:40