我声明了以下课程:
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/