为什么是方法主要入口点在最C#程序静?
-
23-09-2019 - |
题
为什么是方法主要入口点在最C#程序静?
解决方案
为了叫一个实例的方法需要一个象的实例。这意味着为了启动程序的CLR将需要创建一个实例,说 Program
为了呼吁的方法 Main
.因此构造的 Program
会跑之前 Main
其击败的目的主要具有完全。
其他提示
我扭转的问题。什么是执行功能,可以让主是一个实例方法的诱人的好处?特点是价格昂贵;如果没有诱人的好处,他们没有得到执行。
你有一个很好的理由主要应当允许为实例方法?
从概念上讲,你只需要一个静态的一个实例。和静态方法很好地映射到一个单一的起始点为一个程序的成语。语言设计者可能已经创建了一个特别节目类主要方法使用,但选择创建一个单一的静态函数作为入口点。在某一个层次的真的只是一个设计选择。
由于否则它必须创建一个对象,并运行的构造可能会导致消极的副作用。
你怎么能之前创建类的实例主要以其他方式?
在.NET runtime
调用Main
方法。 (注:主也可以从其他地方被调用,例如,从在例如ExampleClass的另一方法的代码的Main())的static
关键字使得没有instance
的ExampleClass
访问的方法。所以主要的方法是入口点,必须声明为静态。
否则,该程序将需要 一个实例,但任何情况下会 需要的程序。
要避免无法解决的 circular dependency
主要被用作入口点
参考: http://en.wikipedia.org/wiki/C_Sharp_(programming_language一>
静态方法可以在不创建一个实例执行。按照惯例,它们具有main
方法为缺省方法调用。
一类的每个对象包含主要方法和其他方法和变量,存在由所有对象,但主类拷贝包含在每个变量和方法的单独的副本只有一个在它们之间,因此,使的数量之间的复制对象,我们必须使主方法为静态。