繁体   English   中英

C#没有参数传递给Main

[英]C# No Arguments Being Passed to Main

我一直在尝试将参数传递给C#中的main方法。 主要是我只想捕获双击的文件路径。 我的文件带有自定义扩展名,当它运行时打开我的程序。 那部分起作用。

    static string file = "";

    [STAThread]
    static void Main(string[] args)
    {
        Application.EnableVisualStyles();

        if (args.Length > 0) file = args[0];

        Application.Run(new Form1());
    }

    public Form1()
    {
        InitializeControls();
    }

我也尝试过这种方式,没有太大区别。

    static string file = "";

    [STAThread]
    static void Main()
    {
        Application.EnableVisualStyles();

        string[] args = Environment.GetCommandLineArgs();
        if (args.Length > 0) file = args[0];

        Application.Run(new Form1());
    }

    public Form1()
    {
        InitializeControls();
    }

值得一提的是,我在部分课程中有这个。 我不知道这是否直接影响到它。

如果我只要双击就可以得到文件,那么我并不需要获取args,但是我觉得那是唯一的方法,现在我很好奇。

我缺少什么使我无法将args传递给我的主设备?

如果在命令提示符下运行“ ftype”,则程序类型应显示为:

YOURTYPE="yourProgram.exe" "%1"

如果"%1"并非以这种方式出现,则关联是错误的(它不会将文件名作为参数传递)。 试试看。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM