向 Controller-Constructor 注入服务时出现不一致的可访问性参数类型错误
Inconsistent accessibility parameter type error while Injecting Service to Controller-Constructor
向控制器注入服务时显示错误 "Inconsistent accessibility:parametertype 'IProductRepository' is less accessible than method 'ProductController.ProductController(IProductRepository)'"
Tools/Framework 使用:visualstudio_2015、mvc 4.6 和 unity_Container_4
我对此很陌生 "IoC" ,我想我遗漏了一些东西
错误代码
private IProductRepository _IobjProductRepository;
//error shown in this code part
Injecting Service to Controller shows error -->
public ProductController(IProductRepository Repository)
{ _IobjProductRepository = Repository;}
<--error shown in this code par
t
引导代码
private static IUnityContainer BuildUnityContainer()
{
var container = new UnityContainer();
container.RegisterType<IProductRepository,ProductRepository>();
container.RegisterType<IController,ProductController>();
// register all your components with the container here
// it is NOT necessary to register your controllers
// e.g. container.RegisterType<ITestService, TestService>();
// MvcUnityContainer.Container = container;
RegisterTypes(container);
return container;
}
public static void RegisterTypes(IUnityContainer container){}
使您的 IProductRepository
成为 public 界面。
public interface IProductRepository
{
// your properties & methods
}
向控制器注入服务时显示错误 "Inconsistent accessibility:parametertype 'IProductRepository' is less accessible than method 'ProductController.ProductController(IProductRepository)'"
Tools/Framework 使用:visualstudio_2015、mvc 4.6 和 unity_Container_4
我对此很陌生 "IoC" ,我想我遗漏了一些东西
错误代码
private IProductRepository _IobjProductRepository;
//error shown in this code part
Injecting Service to Controller shows error -->
public ProductController(IProductRepository Repository)
{ _IobjProductRepository = Repository;}
<--error shown in this code par
t
引导代码
private static IUnityContainer BuildUnityContainer()
{
var container = new UnityContainer();
container.RegisterType<IProductRepository,ProductRepository>();
container.RegisterType<IController,ProductController>();
// register all your components with the container here
// it is NOT necessary to register your controllers
// e.g. container.RegisterType<ITestService, TestService>();
// MvcUnityContainer.Container = container;
RegisterTypes(container);
return container;
}
public static void RegisterTypes(IUnityContainer container){}
使您的 IProductRepository
成为 public 界面。
public interface IProductRepository
{
// your properties & methods
}