Ist es möglich, mehr als eine main()
-Methode (mit den gleichen Parametern) in einer C# -Konsolenanwendung zu haben? Wenn das so ist, wie?Ist es möglich, mehr als eine main() -Methode in einem C# -Programm zu haben?
Antwort
Sie können mehr als eine Hauptmethode haben, die Sie als Eingangspunkt für die Anwendung angeben können Ihr Compiler .. Siehe this Link für mehr Details
Beispiel:
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();
}
}
}
Wenn Sie diesen Code ausführen, werden Sie Kompilierungsfehler erhalten. So beheben Sie gehen zu Projekteigenschaften in Lösung Explorer oder drücken Sie Strg + Alt + L, gehen Sie auf Anwendung Registerkarte und wählen Klasse mit der Methode, die Sie ausführen möchten, wie unten dargestellt:
Was ist, wenn wir zwei Hauptmethode in derselben Klasse haben? wie .. main() und main (string [] args) –
@TusharKukreti Dies ist ein Kompilierungsfehler. Die Main-Methode wird nur als Einstiegspunkt betrachtet, wenn die Signatur mit einer der folgenden 2 übereinstimmt und die Methode statisch ist. 1. Main (String []) 2. Main() – Jaguar
Die Hauptmethode ist Ihr Einstiegspunkt in Ihre Anwendung. Basierend auf Artikeln, die von anderen bereitgestellt werden, ist es syntaktisch gültig, mehrere Main-Methoden zu definieren, Sie müssen jedoch eine einzige Hauptmethode auswählen, wenn Sie Ihre App ausführen. Ich denke, es macht mehr Sinn, eine einzige Hauptfunktion zu erstellen und sie flexibel zu machen, indem Sie Befehlszeilenargumente usw. verwenden.
-1 Es ist möglich, mehrere Hauptleitungen zu haben, daher hat diese Antwort falsche Informationen. – Katu
Der Artikel, den Sie hinzugefügt haben, erlaubt nicht zwei Hauptleitungen gleichzeitig. Es scheint ein Compiler-Trick zu sein, der es Ihnen erlaubt, zwei zu definieren, aber nur einen zur Kompilierungszeit einzubauen. Ich sehe das nicht als zwei Einstiegspunkte in Ihre App – TGH
Sie könnten an so vielen Hauptleitungen haben, wie Sie Klassen haben. 'votes -;' – ChiefTwoPencils
Ja - Sie können benutzerdefinierte angeben Einstiegspunkt, wenn Sie mehrere Main-Methoden haben. csc /main enthält Informationen dazu:
Diese Option gibt die Klasse an, die den Einstiegspunkt für das Programm enthält, wenn mehrere Klassen eine Main-Methode enthalten.
csc MyClssesWithMain.cs /main:OneOfTheClasses
Hinweis: Main
Methoden haben in getrennten Klassen sein, wie Sie nicht zwei Methoden mit identischer Signatur in der gleichen Klasse haben können.
- 1. Ist es möglich, mehr als eine Animation gleichzeitig zu haben?
- 2. Ist es möglich, eine Konstruktorfunktion in einem Merkmal zu haben?
- 3. Kann ich mehr als eine Klasse haben, die die Methode main() in einem Java-Projekt enthält?
- 4. Ist es sinnvoll, mehr als eine MethodSecurityInterceptor-Bean zu haben?
- 5. Ist es in ibatis möglich, mehr als eine selectKey-Klausel in derselben Einfügeabfrage zu haben?
- 6. Ist es möglich, dass ein Singlethread-Programm gleichzeitig auf mehr als einem CPU-Kern ausgeführt wird?
- 7. Ist es möglich, mehr als eine benutzerdefinierte Registerkarte für das Office-Band zu haben?
- 8. Handhabung von .obj-Dateien: Warum ist es möglich, mehr Vertextexturen (vt) als Vertices (v) zu haben?
- 9. Ist es möglich, Enum von enums in C++ zu haben?
- 10. Ist es möglich, eine indizierte Sicht in MySQL zu haben?
- 11. Ist es möglich, ein selbstzerstörerisches Programm in C zu schreiben?
- 12. ist es möglich, überschriebene Methode als endgültig zu markieren
- 13. Eclipse MinGW: wie Multi-Main in einem Projekt zu haben
- 14. C# nicht mehr geschützt Methode aufrufen aus void main
- 15. YAML: Ist es möglich, eine Liste im Stammbereich zu haben?
- 16. Ist es möglich, C-Programm über Python-Skript zu erstellen?
- 17. Ist es möglich, eine verknüpfte Liste verschiedener Datentypen zu haben?
- 18. Ist es möglich, eine einzige Testversion pro Gerät zu haben?
- 19. Ist es möglich, Text in einem eingerahmten Feld haben
- 20. Ist es möglich, in C++ eine templated, Single-Parameter-Summenfunktion zu haben?
- 21. In C++ ist es möglich, eine definierte rein virtuelle Funktion zu haben?
- 22. Kann eine Objective-c-Schnittstelle mehr als eine Implementierung haben?
- 23. Ist es möglich, ein Windows-Formular zu haben, das sowohl halbtransparent als auch vollständig transparent ist?
- 24. Ist es möglich, einen sekundären Server in einem Protokollversand-Szenario als schreibgeschützt verfügbar zu haben?
- 25. Ist es möglich, viele Pipelines für 1 Runspace zu haben
- 26. Ist es möglich, ein Java-Programm zu haben, kommunizieren mit Terminal?
- 27. Ist es möglich, eine "Auto" -Membervariable zu haben?
- 28. Ist es möglich, eine Objective-C-Kategorie zu haben, die nur dann geladen wird, wenn die Methode noch nicht existiert?
- 29. Ist es möglich, eine Umgebungsvariable in einem Makefile "zu deaktivieren"?
- 30. Ist es möglich, mehr als eine Persistenzeinheit in einer Transaktion zu verwenden, ohne dass es XA ist?
Warum möchten Sie mehr als ein Haupt haben? –
Sehen Sie sich diesen Artikel http://raviranjankr.wordpress.com/2011/05/20/multiple-main-method-in-c/ – mck
Was zum Teufel würde die zweite tun? – Mehrdad