此控制器的构造函数返回错误“} expected”。 Visual Studio不承认它是一个构造函数。其他错误包括“方法必须具有返回类型”。
此代码有什么问题?
namespace blahblah.Controllers
{
public class HomeController : Controller
{
private IUserRepository userRepository;
public HomeController()
{ //} expected here
public Model1Container db = new Model1Container();
this.userRepository = new UserRepository(db);
}
public ActionResult Index()
{
ViewBag.Message = "Welcome to ASP.NET MVC!";
return View();
}
public ActionResult About()
{
return View();
}
}
}
答案 0 :(得分:3)
您的构造函数应如下所示:
public HomeController()
{
Model1Container db = new Model1Container();
this.userRepository = new UserRepository(db);
}
删除局部变量public
附近的单词db
。使用局部变量无法访问访问修饰符,因为它们的范围仅限于声明它们的方法体。
来自C#语言规范4.0:
局部变量声明指定类型名称,变量名称, 可能是一个初始值。