¿Por qué es el punto de entrada principal método en la mayoría de programas de C # estática?

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

  •  23-09-2019
  •  | 
  •  

Pregunta

¿Por qué es el punto de entrada principal método en la mayoría de programas C # estática?

¿Fue útil?

Solución

Con el fin de llamar a un método de instancia se necesita una instancia de un objeto. Este medio con el fin de iniciar su programa de CLR necesitarían para crear una instancia de Program por ejemplo con el fin de llamar al método Main. De ahí que el constructor de Program correría antes Main que derrota el propósito de tener un conjunto principal.

Otros consejos

Me había vuelta a la pregunta. ¿Cuál es el beneficio convincente de la aplicación de la característica que permite principal para ser un método de instancia? Las características son caros; Si no hay ningún beneficio convincente, que no son implementadas.

¿Tiene una muy buena razón por la principal se debe permitir que sea un método de instancia?

Conceptualmente es suficiente con una instancia de una estática. Y un método estático mapea bien en el idioma de un único punto de miradas para un programa. Los diseñadores del lenguaje podrían haber creado una clase programa especial para usar con un método principal, pero optó por crear una única función estática como punto de entrada. En algunos niveles es realmente sólo una opción de diseño.

Debido a que de lo contrario tendría que crear un objeto, y corriendo el constructor podría causar efectos secundarios negativos.

¿Cómo puedes crear la instancia de clase antes de otro modo principal?

El .NET runtime llama al método Main. (Nota: principal también puede ser llamado desde otro lugar, por ejemplo, a partir del código principal () en otro método de ExampleClass.) La palabra clave static hace que el método accesible sin un instance de ExampleClass. Así principal método es un punto de entrada y debe ser declarada estática.

  

De lo contrario, el programa requeriría   una instancia, pero haría cualquier instancia   requerir un programa.

Para evitar que irresoluble circular dependency principal se utiliza como un punto de entrada


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

Los métodos estáticos puede ser ejecutado sin crear una instancia. Por convención, tienen el método main como el método por defecto a la llamada.

por cada objetos de una clase contiene método principal y otros métodos y variables, hay copias separadas de cada variable y métodos contenida por todos los objetos, sino una copia de la clase principal es único entre ellos y así hacer una copia entre el número de objetos que tenemos que hacer como principal método estático.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top