我刚刚将Ninject依赖注入添加到我的代码中,并且在修改构造函数后,我在构造函数上收到以下错误:
Inconsistent accessibility: parameter type 'Final.Models.IUserRepo' is less accessible than method 'Final.Controllers.HomeController.HomeController(Final.Models.IUserRepo)' C:\Users\Ali\Documents\Final\Final\Controllers\HomeController.cs 17 16 Final
以下是我的 HomeController
public class HomeController : Controller
{
IUserRepo repo;
public HomeController(IUserRepo u)
{
u = repo;
}
}
这是我的界面:
namespace Final.Models
{
interface IUserRepo
{
void save(User u);
}
}
我尝试将所有方法更改为公开但没有任何效果。
答案 0 :(得分:2)
将其设为公共界面。这是错误消息告诉你的内容。如果接口是私有的,则不能将它用作公共方法(构造函数)的参数。否则,如何构建HomeController
?
namespace Final.Models
{
public interface IUserRepo
{
void save(User u);
}
}
此外,您应该修改代码以遵循标准C#命名约定。不要使用缩写,PascalCase是你的方法名称。
namespace Final.Models
{
public interface IUserRepo
{
void Save(User uuser);
}
}