2013-07-12 4 views
12

C#コンソールアプリケーションで複数のパラメータ(同じパラメータを使用)を使用することはできますか?もしそうなら、どうですか?C#プログラムで複数のmain()メソッドを使用することはできますか?

+0

なぜあなたは複数のメインを持っていますか? –

+0

この記事を見てくださいhttp://raviranjankr.wordpress.com/2011/05/20/multiple-main-method-in-c/ – mck

+0

2番目の人は何をしますか? – Mehrdad

答えて

17

あなたが複数のmainメソッドを持つことができますあなたのコンパイラ..

例詳細についてはthisのリンクを参照してください:

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

あなたはこのコードを実行するとき、あなたはコンパイルエラーになります。下記に示すように、ソリューションエクスプローラやプレスCTRL + ALT + Lのプロパティを投影する行く解決するには、実行したいメソッドを使用してアプリケーションタブと選択クラスに行く:

enter image description here

+0

同じクラスに2つのメインメソッドがあるとどうなりますか? main()とmain(string [] args)のように –

+0

@TusharKukretiこれはコンパイルエラーです。主な方法は、署名が2以下のいずれかと一致する場合にのみ、エントリポイントとして考えられ、方法は、メイン(文字列[]) 2.メイン()1. 静的です – Jaguar

3

主な方法は、アプリケーションにあなたのエントリポイントです。他の人が提供する記事に基づいて、それは構文的に有効で、複数のMainメソッドを定義しますが、あなたのアプリケーションを実行する際には単一のmainメソッドを選択する必要があります。私は、あなたがして、アプリケーションのエントリポイントとして使用するかを指定することができ、それは単一のメイン関数を作成するために、より理にかなっていると思いますし、コマンドライン引数を使用することによって、それは柔軟にするなど

+0

-1複数の幹線を持つことは可能ですので、この回答には虚偽の情報があります。 – Katu

+0

追加した記事では、同時に2つのメインを許可していません。コンパイラのトリックのように思えますが、コンパイル時に2つしか定義できません。私はあなたのアプリに2つのエントリーポイントを持っているとは考えていません – TGH

+0

あなたはクラスを持っているのと同じ本数を持つことができます。 'votes - ;' – ChiefTwoPencils

4

はい - あなたはカスタム指定することができます複数のMainメソッドがある場合は、エントリポイント。

このオプションは、複数のクラスにMainメソッドが含まれている場合、プログラムへのエントリポイントを含むクラスを指定します。

csc MyClssesWithMain.cs /main:OneOfTheClasses 

注:Mainの方法は、あなたが同じクラスで同じシグネチャを持つ2つの方法を持つことができないとして、別々のクラスでなければなりません。

関連する問題