0

Windows アプリケーションを作成しました.. Main メソッドに引数を追加する必要があるため、string[] パラメータをオーバーロードしてメイン メソッドを変更しました。

Program クラスのメイン メソッドに変更を加えると、アプリケーションの .exe を介して更新されないのはなぜですか?

コピーしたコード Program.cs 変更前

static class Program
{
    /// <summary>
    /// The main entry point for the application.
    /// </summary>
    [STAThread]
    static void Main()
    {
        Application.EnableVisualStyles();
        Application.SetCompatibleTextRenderingDefault(false);
        Application.Run(new Form1());
    }
}

mainb メソッドに引数を追加した後、以下のコードをコピーしました。値をチェックして、他のクラスからメソッドを呼び出しています

static class Program
{
    private static string x= string.Empty;
    private static string y= string.Empty;
    private static string z= string.Empty;

    public static void Main(string[] args)
    {
        try
        {
            if (args.Count() > 0)
            {
                if (args.Count() != 3)
                {
                    RootDirectory = args[0];
                    SourceFile = args[1];
                    DestinationFile = args[2];
                    Form1.GetCommandLineArgs(x, y, z);
                }
                else
                {
                    throw new Exception("");
                }
            }
            else
            {
                throw new Exception();
            }
            Application.EnableVisualStyles();
            Application.SetCompatibleTextRenderingDefault(false);
            Application.Run(new Form1());
        }
        catch (Exception ex)
        {
            Common.AppUtilties.LogError(ex, "OnFailure, " + ex.Message);
            Environment.Exit(0);
        }
    }
}
4

1 に答える 1

0

質問に直接答えるわけではありませんが、

Environment.GetCommandLineArgs

コードのどこからでも引数にアクセスできるため、通常はこれを winform に使用します。

于 2012-12-03T15:35:29.870 に答える