C # - Аргументы для приложения - PullRequest
0 голосов
/ 26 октября 2009

Как я могу сделать так, чтобы при добавлении аргументов в конец имени программы она выполняла определенный метод или что-то еще?

Кроме того, есть имя для этого?

Пример:

program.exe / i

Я также видел% 1

Ответы [ 5 ]

6 голосов
/ 26 октября 2009

Это так называемые аргументы командной строки . На MSDN есть хорошее руководство по их использованию .

Этот пример должен помочь вам начать:

class TestClass
{
    static void Main(string[] args)
    {
        // Display the number of command line arguments:
        System.Console.WriteLine(args.Length);
    }
}
5 голосов
/ 26 октября 2009

вот фрагмент

class myclass
{
  public static void main(string [] args)
  {
    if(args.Length == 1)
    {
       if(args[0] == "/i")
       {
         Console.WriteLine("Parameter i");
       }
    }
  }
}

% 1 - это фактически синтаксис для файлов BAT, через которые передается параметр. Так что, если вы видите program.exe% 1 в файле с именем cmd.bat, вы можете вызвать cmd.bat / i, и / i будет передан program.exe

2 голосов
/ 26 октября 2009

Есть несколько вещей, которые вы упомянули здесь.

Прежде всего, вам нужны аргументы командной строки. Как вы их получите, зависит от типа приложения. Например, в консольном приложении вы определяете метод main следующим образом:

public static void Main(string[] args) {
    ...
}

где вы можете получить доступ ко всем аргументам командной строки, которые были переданы программе в массиве args.

В других типах проектов вам может понадобиться Environment.GetCommandLineArgs .

Кроме того, вы говорите о %1, который поначалу не имеет ничего общего с вашей конкретной проблемой. Он используется в пакетных файлах и в реестре при настройке ассоциаций типов файлов. Он обозначает первый аргумент командной строки в пакетах или документ, который вы хотите открыть для ассоциаций типов файлов.

Таким образом, при настройке ассоциации типов файлов для вашей программы вы можете использовать следующие команды (в командной строке Windows):

assoc .myExt=MyProgram
ftype MyProgram=myprogram.exe /i %1
2 голосов
/ 26 октября 2009

Вы ищете аргументы командной строки, не так ли?

Здесь Вы найдете несколько примеров: http://www.csharphelp.com/archives/archive273.html Здесь больше: http://www.google.com/search?hl=en&q=%22c%23%22+command+line+arguments&aq=f&oq=&aqi=g10

2 голосов
/ 26 октября 2009

Аргументы командной строки.

На c # вы можете найти их на

static void Main(string[] args)

Или из любого места, используя

Environment.GetCommandLineArgs()
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...