È ansible avere più di un metodo main () in un programma C #?

È ansible avere più di un metodo main() (con gli stessi parametri) in un’applicazione console C #? Se é cosi, come?

Puoi avere più di un metodo principale, puoi specificare quale usare come punto di ingresso per l’applicazione dal tuo compilatore. Vedi questo link per maggiori dettagli

Esempio:

 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(); } } } 

Quando eseguirai questo codice, otterrai un errore di compilazione. Per risolvere vai alle proprietà del progetto in solution explorer o premi ctrl + alt + L, vai alla scheda dell’applicazione e seleziona la class con il metodo che vuoi eseguire come mostrato di seguito:

inserisci la descrizione dell'immagine qui

Sì: è ansible specificare un punto di ingresso personalizzato se si dispone di più metodi principali. csc / main contiene informazioni su di esso:

Questa opzione specifica la class che contiene il punto di ingresso al programma, se più di una class contiene un metodo Main.

 csc MyClssesWithMain.cs /main:OneOfTheClasses 

Nota: i metodi Main devono essere in classi separate poiché non è ansible avere 2 metodi con firma identica nella stessa class.

Il metodo principale è il tuo punto di ingresso nella tua applicazione. Basato su articoli forniti da altri, è sintatticamente valido per definire più metodi Main, ma devi selezionare un singolo metodo principale quando esegui la tua app. Penso che abbia più senso creare una singola funzione principale e renderla flessibile usando args da riga di comando, ecc.