Warum ist der wichtigste Methode Eintrittspunkt in den meisten C # -Programme statisch?

StackOverflow https://stackoverflow.com/questions/2366952

  •  23-09-2019
  •  | 
  •  

Frage

Warum ist der wichtigste Methode Eintrittspunkt in den meisten C # -Programme statisch?

War es hilfreich?

Lösung

Um eine Instanz-Methode aufrufen, müssen Sie eine Instanz eines Objekts. Dieses Mittel, um Ihr Programm der CLR zu starten müßten eine Instanz von etwa Program schaffen, um die Methode Main zu nennen. Daher der Konstruktor von Program würde, bevor Main laufen, die den Zweck besiegt von insgesamt einen Haupt haben.

Andere Tipps

Ich würde die Frage umdrehen. Was ist das überzeugende Nutzen Sie die Funktion der Implementierung, die Haupt eine Instanzmethode sein können? Features sind teuer; wenn es kein zwingender Vorteil ist, dass sie nicht umgesetzt bekommen.

Haben Sie einen wirklich guten Grund, warum Haupt erlaubt sein soll, eine Instanzmethode sein?

Konzeptionell haben Sie nur eine Instanz einer statischen. Und eine statische Methode ordnet gut an das Idiom eines einzigen Ausgangspunkt für ein Programm. Die Sprachdesigner haben könnten eine spezielles Programm Klasse zu verwenden, um mit einem Hauptverfahren geschaffen, sondern wählen eine einzelne statische Funktion als Einstiegspunkt zu schaffen. Auf einigen Ebenen seine wirklich nur eine Design-Wahl.

Weil sonst hätte es ein Objekt erstellen, und den Konstruktor ausgeführt könnte negative Nebenwirkungen verursachen.

Wie können Sie erstellen Ihre Klasseninstanz vor dem Haupt sonst?

Die .NET runtime ruft die Main Methode. (Hinweis: Haupt kann auch aus anderen Ländern, beispielsweise aus dem Code Main () in einem anderen Verfahren zur ExampleClass aufgerufen werden.) Das static Schlüsselwort macht das Verfahren zugänglich ohne instance von ExampleClass. So Main-Methode ist ein Einstiegspunkt und muss statisch deklariert werden.

  

Ansonsten würde das Programm benötigen   eine Instanz, aber jede Instanz würde   erfordert ein Programm.

Um zu vermeiden, dass die unauflöslich circular dependency Haupt als Einstiegspunkt verwendet wird


Referenz: http://en.wikipedia.org/wiki/C_Sharp_(programming_language

Statische Methoden können ohne eine Instanz ausgeführt werden. Vereinbarungsgemäß haben sie die main Methode als Standardmethode zum Aufruf.

für alle Objekte einer Klasse enthält Haupt-Methode und andere Methoden und Variablen gibt es getrennte Kopien der einzelnen Variablen und Methoden, die von allen Objekten enthalten, sondern eine Hauptklasse Kopie ist nur ein zwischen ihnen und so eine Kopie zwischen der Anzahl der machen Objekte müssen wir Haupt-Methode als statisch machen.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top