C# - Действительно ли возможно создать приложение Windows Forms, которое может работать из командной строки с параметрами?

Some не ключевое слово. Существует option тип однако, который является дизъюнктным объединением, содержащим две вещи:

  1. Some, который содержит значение некоторого типа.
  2. None, который представляет отсутствие значения.

Это определяется как:

type 'a option =
    | None
    | Some of 'a

Это действует отчасти как nullable тип, где Вы хотите иметь объект, который может содержать значение некоторого типа или не иметь никакого значения вообще.

let stringRepresentationOfSomeObject (x : 'a option) =
    match x with
    | None -> "NONE!"
    | Some(t) -> t.ToString()
12
задан Peter Mortensen 8 September 2012 в 18:59
поделиться

4 ответа

Если вы измените эту основную подпись по умолчанию:

[STAThread]
static void Main()

На это:

[STAThread]
static void Main(String[] args)

Вы можете получить доступ к переменным командной строки, как из обычного консольного приложения, или если вы хотите получить к ним доступ из в другом месте вы можете использовать:

System.Environment.GetCommandLineArgs();
27
ответ дан 2 December 2019 в 03:43
поделиться
[STAThread]
static void Main(string[] args)
{
    if (args.Length == 0)
    {
        // Run the application in a windows form
        Application.Run(new MainForm( ));
    }
    else
    {
        // Run app from CLI
        Console.WriteLine(DoStuff(args));
    }
}
8
ответ дан 2 December 2019 в 03:43
поделиться
3
ответ дан 2 December 2019 в 03:43
поделиться

Да, он должен работать, чтобы создать проект как обычный проект приложения Windows. Затем в program.cs перед запуском окна вызовите Environment.GetCommandLineArgs () , чтобы получить аргументы командной строки и проанализировать их, чтобы сделать то, что вы хотите.

2
ответ дан 2 December 2019 в 03:43
поделиться
Другие вопросы по тегам:

Похожие вопросы: