Pourquoi est le principal point d'entrée de la méthode dans la plupart des programmes C # statique?

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

  •  23-09-2019
  •  | 
  •  

Question

Pourquoi est le principal point d'entrée de la méthode dans la plupart des programmes C # statique?

Était-ce utile?

La solution

Pour appeler une méthode d'instance dont vous avez besoin d'une instance d'un objet. Cela signifie pour démarrer votre programme le CLR devrait créer une instance de dire Program afin d'appeler la méthode Main. D'où le constructeur de Program courrait avant Main qui contrecarre le but d'avoir une principale tout à fait.

Autres conseils

Je retourner la question. Quel est l'avantage convaincant de mettre en œuvre la fonctionnalité qui permet principal à une méthode d'instance? Caractéristiques sont chers; s'il n'y a aucun avantage convaincant, ils ne sont pas mises en œuvre.

Avez-vous une très bonne raison pour laquelle principale devrait être autorisé à être une méthode d'instance?

Conceptuellement vous ne disposez que d'une instance d'une statique. Et une méthode statique correspond bien à l'idiome d'un seul point de regard fixe d'un programme. Les concepteurs de langage aurait pu créer une classe de programme spécial à utiliser avec une méthode mais a choisi de créer une seule fonction statique comme point d'entrée. Sur certains niveaux est vraiment juste un choix de conception.

Parce que sinon, il faudrait créer un objet, et l'exécution du constructeur pourrait avoir des effets secondaires négatifs.

Comment pouvez-vous créer votre instance de classe avant principale autrement?

Le .NET runtime appelle la méthode Main. (Remarque: principal peut également être appelé d'ailleurs, par exemple à partir du code principal () dans une autre méthode ExampleClass.) Le mot-clé static rend la méthode accessible sans instance de ExampleClass. Ainsi, la méthode principale est un point d'entrée et doit être déclarée statique.

  

Dans le cas contraire, le programme nécessiterait   une instance, mais toute instance devrait   besoin d'un programme.

Pour éviter que irrésoluble circular dependency principal est utilisé comme point d'entrée


Référence: http://en.wikipedia.org/wiki/C_Sharp_(programming_language

Les méthodes statiques peuvent être exécutées sans créer une instance. Par convention, ils ont la méthode main comme la méthode par défaut pour appeler.

pour tous les objets d'une classe contient principale méthode et d'autres méthodes et les variables, il y a des copies séparées de chaque variable et les méthodes contenues par tous les objets, mais une copie principale de classe est seulement un entre eux et ainsi de faire une copie entre le nombre de des objets que nous devons faire comme principale méthode statique.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top