Perchè è il principale punto di metodo di inserimento nella maggior C # programmi statica?

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

  •  23-09-2019
  •  | 
  •  

Domanda

Perché è il principale punto di metodo di inserimento nella maggior C # programmi statico?

È stato utile?

Soluzione

Per chiamare un metodo di istanza è necessario un'istanza di un oggetto. Ciò significa, in modo da avviare il programma di CLR avrebbero bisogno di creare un'istanza di dire Program al fine di chiamare il metodo Main. Quindi il costruttore di Program correrebbe prima Main che sconfigge lo scopo di avere un principale complessivamente.

Altri suggerimenti

mi piacerebbe girare intorno alla questione. Qual è il vantaggio convincente di attuare la funzione che consente principale di essere un metodo di istanza? Caratteristiche sono costosi; se non v'è alcun beneficio convincente, che non vengano attuate.

Avete una buona ragione per cui principale dovrebbe essere consentito di essere un metodo di istanza?

Concettualmente si ha una sola istanza di una statica. E un metodo statico mappe bene al linguaggio di un unico punto fisso per un programma. I progettisti di linguaggi avrebbero potuto creare una classe speciale programma da utilizzare con un metodo main ma ha scelto di creare una funzione statica singolo come punto di ingresso. In alcuni livelli è davvero solo una scelta di design.

Perché altrimenti avrebbe dovuto creare un oggetto, e in esecuzione il costruttore potrebbe causare effetti collaterali negativi.

Come si potrebbe creare l'istanza della classe prima principale altrimenti?

Il .NET runtime chiama il metodo Main. (Nota: principale può anche essere chiamato da altrove, per esempio dal codice Main () in un altro metodo di ExampleClass.) La parola chiave static rende il metodo accessibili senza un instance di ExampleClass. Così principale metodo è un punto di ingresso e deve essere dichiarato statico.

  

In caso contrario, il programma richiederebbe   un esempio, ma qualsiasi esempio sarebbe   richiedere un programma.

Per evitare che irrisolvibile circular dependency principale viene utilizzato come un punto di ingresso


di riferimento: http://en.wikipedia.org/wiki/C_Sharp_(programming_language

I metodi statici può essere eseguito senza creare un'istanza. Per convenzione, hanno il metodo main come il metodo di default alla chiamata.

ogni oggetti di una classe contiene metodo principale e altri metodi e variabili, ci sono copie separate di ciascuna variabile e metodi contenuta da tutti gli oggetti ma una copia classe principale è uno solo tra loro e quindi fare una copia tra il numero di oggetti dobbiamo fare principale metodo statico.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top