2013-02-19 71 views
0

构造此控制器返回错误“}预期”。 Visual Studio没有认识到它是一个构造函数。其他错误包括“方法必须具有返回类型”。Asp.net MVC控制器构造函数返回错误

这段代码有什么问题?

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(); 
     } 
    } 
} 

回答

3

你的构造应该是这样的:

public HomeController() 
{ 
    Model1Container db = new Model1Container(); 
    this.userRepository = new UserRepository(db); 
} 

删除Word public附近的局部变量db。访问修饰符不能与局部变量访问,因为它们的范围仅限于他们宣称在方法体。

从C#语言规范4.0:

局部变量声明指定类型名,变量名, 和可能的初始值。