美文网首页
C#程序入口的static Main方法为什么要加上Static

C#程序入口的static Main方法为什么要加上Static

作者: 吉Jimmy米 | 来源:发表于2016-11-11 21:14 被阅读0次

c#程序刚开始启动的时候都会有唯一一个入口函数main()函数,而非静态成员又称实例成员,必须作用于实例。在程序刚开始运行的时候,未建立任何实例,因此无法调用实例成员,包括非静态的Main方法。为了能够在程序的开始执行Main方法,必须将其声明为静态。

顺便说明,在Main方法中调用的成员也必须是静态的,除非建立过相应的实例。
例如:

namespace lover_P.Test 
{
   public class Test
   {
      public void InstanceMethod() {} // 实例成员(非静态)  
      public static void StaticMethod {} // 类型成员(静态)
      public static void Main() 
      {
        InstanceMethod(); // 错误!调用了实例成员,而此时并没有建立实例
        StaticMethod(); // 正确!可以调用静态成员
        Test SomeTest = new Test(); // 建立本类型的一个实例
        SomeTest.InstanceMethod(); // 再在这个实例上调用实例成员就对了
        SomeTest.StaticMethod(); // 附加一句,在实例上调用静态成员也是错误的!
      }
  }
}

相关文章

网友评论

      本文标题:C#程序入口的static Main方法为什么要加上Static

      本文链接:https://www.haomeiwen.com/subject/mswfpttx.html