¿Por qué es el punto de entrada principal método en la mayoría de programas de C # estática?
-
23-09-2019 - |
Pregunta
¿Por qué es el punto de entrada principal método en la mayoría de programas C # estática?
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.