C# Unity类型IRegisterAutoMapper没有可访问的构造函数
您好,我正在使用Unity作为IoC容器,并尝试使用ServiceLocator获取对象的实例 这是我试图执行的代码:C# Unity类型IRegisterAutoMapper没有可访问的构造函数,c#,unity-container,C#,Unity Container,您好,我正在使用Unity作为IoC容器,并尝试使用ServiceLocator获取对象的实例 这是我试图执行的代码: ServiceLocator.Current.GetInstance<IAutoMapperRegisterFactory>() 以前我的AutomapperRegisterFactory是这样的: public class AutoMapperRegisterFactory : IAutoMapperRegisterFactory { private r
ServiceLocator.Current.GetInstance<IAutoMapperRegisterFactory>()
以前我的AutomapperRegisterFactory是这样的:
public class AutoMapperRegisterFactory : IAutoMapperRegisterFactory
{
private readonly IRegisterAutoMapper m_RegisterAutoMapper;
public AutoMapperRegisterFactory(IRegisterAutoMapper registerAutoMapper)
{
m_RegisterAutoMapper = registerAutoMapper;
}
public IEnumerable<IRegisterAutoMapper> GetRegisteredAutoMappers()
{
var registeredAutoMappers = new List<IRegisterAutoMapper> { m_RegisterAutoMapper };
return registeredAutoMappers;
}
}
public class AutoMapperRegisterFactory : IAutoMapperRegisterFactory
{
public IEnumerable<IRegisterAutoMapper> GetRegisteredAutoMappers()
{
var registeredAutoMappers = new List<IRegisterAutoMapper> { new RegisterAutoMapper(new RegisterMappings(), new RegisterCustomMappings()) };
return registeredAutoMappers;
}
}
公共类AutoMapperRegisterFactory:IAutoMapperRegisterFactory
{
public IEnumerable GetRegisteredAuthomappers()
{
var registeredAutoMappers=新列表{new registereautomapper(new RegisterMappings(),new registercustomappings())};
返回registeredAutoMappers;
}
}
一切正常。我做错了什么?我该如何纠正它?组件
AutoMapperRegisterFactory
requure as dependencyIRegisterAutoMapper
组件。
IRegisterAutoMapper
由RegisterAutoMapper
类型实现,但是RegisterAutoMapper
类型的构造函数需要两个参数:RegisterMappings
和RegisterCustomMappings
,因此必须提供它们
例如:
container.RegisterType<..., RegisterMappings>();
container.RegisterType<..., RegisterCustomMappings>();
container.RegisterType();
container.RegisterType();
public class AutoMapperRegisterFactory : IAutoMapperRegisterFactory
{
public IEnumerable<IRegisterAutoMapper> GetRegisteredAutoMappers()
{
var registeredAutoMappers = new List<IRegisterAutoMapper> { new RegisterAutoMapper(new RegisterMappings(), new RegisterCustomMappings()) };
return registeredAutoMappers;
}
}
container.RegisterType<..., RegisterMappings>();
container.RegisterType<..., RegisterCustomMappings>();