2013-02-19 40 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:

局部變量聲明指定類型名,變量名, 和可能的初始值。