Asp.net mvc控制器构造函数返回错误

时间:2013-02-19 23:43:08

标签: c# asp.net-mvc

此控制器的构造函数返回错误“} 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();
        }
    }
}

1 个答案:

答案 0 :(得分:3)

您的构造函数应如下所示:

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

删除局部变量public附近的单词db。使用局部变量无法访问访问修饰符,因为它们的范围仅限于声明它们的方法体。

来自C#语言规范4.0:

  

局部变量声明指定类型名称,变量名称,   可能是一个初始值。