2013-07-12 14 views

Odpowiedz

17

Możesz mieć więcej niż jedną główną metodę, możesz określić, które z nich będzie używane jako punkt wejścia dla aplikacji. Twój kompilator .. Zobacz this odnośnik więcej szczegółów

Przykład:

using System; 
using System.Collections.Generic; 
using System.Text; 


    namespace Multiple_MainClasses 
    { 
     class A 
     { 
      static void Main(string[] args) 
      { 
       Console.WriteLine("I am from Class A"); 
       Console.ReadLine(); 
      } 
     } 
     class B 
     { 
      static void Main(string[] args) 
      { 

       Console.WriteLine("I am from Class B"); 
       Console.ReadLine(); 
      } 
     } 
    } 

Kiedy uruchomić ten kod, pojawi się błąd kompilacji. Aby rozwiązać przejść do Właściwości projektu w Solution Explorer lub naciśnij Ctrl + Alt + L, przejdź do zakładki aplikacji i wybierz klasy z metody, które chcesz wykonać, jak pokazano poniżej:

enter image description here

+0

Co jeśli mamy dwie główne metody w tej samej klasie? jak .. main() i main (string [] args) –

+0

@TusharKukreti To jest błąd kompilacji. Metoda główna jest traktowana jako punkt wejścia tylko wtedy, gdy podpis jest zgodny z dowolnym z poniższych 2, a metoda jest statyczna 1. Główna (Ciąg []) 2. Główna() – Jaguar

3

Główną metodą jest punkt wejścia do aplikacji. W oparciu o artykuły dostarczone przez innych, jest to syntaktycznie poprawne, aby zdefiniować wiele głównych metod, ale musisz wybrać jedną główną metodę podczas uruchamiania aplikacji. Wydaje mi się, że bardziej sensowne jest utworzenie jednej głównej funkcji i uczynienie jej elastyczną poprzez użycie argumentów wiersza poleceń itd.

+0

-1 Możliwe jest posiadanie wielu sieci, więc ta odpowiedź zawiera fałszywe informacje. – Katu

+0

Dodany artykuł nie zezwala na dwie sieci w tym samym czasie. Wydaje się, że jest to sztuczka kompilatora umożliwiająca zdefiniowanie dwóch, ale tylko uwzględnienie ich w czasie kompilacji. Nie postrzegam tego jako posiadającego dwa punkty wejścia do twojej aplikacji. – TGH

+0

Możesz mieć tylu sił w sieci, ile masz zajęć. 'votes -;' – ChiefTwoPencils

4

Tak - można określić niestandardowy punkt wejścia, jeśli masz wiele głównych metod. csc /main zawiera informacje na ten temat:

Ta opcja określa klasę zawierającą punkt wejścia do programu, jeśli więcej niż jedna klasa zawiera metodę Główną.

csc MyClssesWithMain.cs /main:OneOfTheClasses 

Uwaga: Main metody muszą znajdować się w oddzielnych klasach, jak nie można mieć 2 metody z identycznego podpisu w tej samej klasie.

Powiązane problemy