Fonction de point d'entrée C #
Est staic void main() est nécessaire pour la fonction de point d'entrée en C# ou nous pouvons utiliser d'autres fonctions?
Pourquoi main() est statique?
source d'informationauteur Sandeep | 2011-05-10
Vous devez vous connecter pour publier un commentaire.
Oui, il doit être
Main
. Il est statique, car sinon le CLR aurait besoin de s'inquiéter à propos de la création d'une instance du type qui signifie que vous auriez probablement avoir un constructeur sans paramètre, même si vous n'avez pas voulez une instance du type, etc. Pourquoi voudriez-vous voulez pour le forcer à être une méthode d'instance?Oui pour une application en c#,
Main()
doit être le point d'entrée.La raison en est parce que c'est ce que les concepteurs de la langue décidé d'être ce qu'il faut chercher un point d'entrée de votre programme. Ils pourraient tout aussi bien avoir utilisé une approche totalement différente pour trouver le point d'entrée, par exemple à l'aide de méta-données, ou l'instanciation d'un objet pour vous (ce Qui nécessiterait un constructeur sans paramètre). Une autre raison de le nommer
void main()
est qu'elle est intuitive pour les utilisateurs qui viennent d'autres langues.Static Void main() est le nécessaire point d'entrée pour toute "Exécutable" (.EXE) doit être créé dans C#. Une bibliothèque (ou .DLL) peut avoir d'autres points d'entrée.
La méthode est Statique parce que c'est nécessaire pour accéder à la méthode sans avoir une instance de l'objet à traiter. Afin d'appeler la méthode (point de départ) à partir de l'extérieur de l'application, une méthode statique est nécessaire.
Le point d'entrée requis est en réalité:
La raison que
Main
doit être statique, c'est que non-statique des objets doit être construit avant d'appeler une méthode sur eux. DepuisMain
est le point d'entrée du programme, qui va appeler son constructeur?(Oui, vous pourriez avoir le CLR exiger que la classe avec
Main
contenir un défaut constructeur sans paramètre, et de faire le CLR appel du constructeur pendant le démarrage. Mais c'est du travail supplémentaire, et, dans la pratique, il est plus facile de simplement exiger queMain
être statique.)