我不明白为什么一个班级是公共的"

时间:2015-05-06 00:16:11

标签: c# asp.net

我开始学习C#,而且我来自C ++背景。我应该通过these指令创建的示例页面看起来像

using System.Web;
using System.Web.Mvc;

namespace MvcMovie.Controllers
{
    public class HelloWorldController : Controller
    {
        // 
        // GET: /HelloWorld/ 

        public string Index()
        {
            return "This is my <b>default</b> action...";
        }

        // 
        // GET: /HelloWorld/Welcome/ 

        public string Welcome()
        {
            return "This is the Welcome action method...";
        }
    }
}

我的主要问题是为什么HelloWorldController类以public为前缀。我了解HelloWorldController来自Controller,但为什么一个类首先需要public?我对单词publicprivate的理解是,如果它们在一个类中起作用,它们只有意义,并且public是可以被实例使用的main.cs。那个班。另外,我创建的Visual Studio ASP.NET MVC项目中的Cumulatively integrate y(x) using the composite trapezoidal rule. ^ SyntaxError: invalid syntax 在哪里?

3 个答案:

答案 0 :(得分:4)

班级上公共和私人的目的与方法不同。

Classes (C# Programming Guide)

public class Customer
{
    //Fields, properties, methods and events go here...
}
  

class关键字前面是访问级别。因为公众是   在这种情况下,任何人都可以从这个类创建对象。

Access Modifiers (C# Programming Guide)

public class Bicycle
{
    public void Pedal() { }
}
  

类型或成员可以由同一个中的任何其他代码访问   装配或引用它的另一个装配。

答案 1 :(得分:1)

private类不能被任何东西使用,除非它在另一个类中。 C#不允许非嵌套类为private,因为没有人可以使用它。

但是,还有另一种选择:您可以将该类标记为internalinternal限制对当前程序集内的访问。

答案 2 :(得分:1)

关键字表示允许谁从此类创建实例(对象)。如果您将类嵌套在彼此内部,则将使用Private,并且您不会从类外部访问它。

来自MSDN

  

class关键字前面是访问级别。因为在这种情况下使用public,所以任何人都可以从此类创建对象。类的名称遵循class关键字。定义的其余部分是类主体,其中定义了行为和数据。类上的字段,属性,方法和事件统称为类成员。