2012-10-22 16 views
7

I modificatori di accesso disponibili sono importanti per il metodo Principale? In caso contrario, perché Main ci consente di specificare il modificatore? Perché il compilatore non ci impedisce di specificare qualcosa che è banale?I modificatori di accesso sono importanti per il metodo Principale?

+5

'principale deve essere statico e non deve essere public.' - fonte: http://msdn.microsoft.com/en-us/library/acy3edy3.aspx – Oded

+0

Trova John Steeks risposta per la domanda relativa http : //stackoverflow.com/a/3736037/823369 –

+1

Il modificatore statico significa che non deve essere istanziato per usarlo. Prima dell'esecuzione di un programma, tecnicamente non sono ancora stati creati oggetti, quindi il metodo principale, che è il punto di ingresso per l'applicazione, deve essere etichettato come statico per indicare al compilatore che il metodo può essere utilizzato senza dover prima creare un'istanza di quella classe. Altrimenti, è il "Quale è venuto prima, il pollo o l'uovo?" fenomeno. –

risposta

5

Principale essendo pubblico/privato non influisce sul CLR chiamandolo affatto. Il CLR cercherà un metodo statico denominato main (per impostazione predefinita, ma non necessariamente) associato al relativo punto di ingresso, senza esaminare i modificatori di accesso.

Influisce solo sulla visibilità delle principali alle altre funzioni. È buona norma che Main to non sia pubblico poiché non deve essere richiamato da altri metodi negli assembly, solo dal CLR.

Problemi correlati