Как передать необязательные параметры методу в C #? - PullRequest
9 голосов
/ 29 июля 2010

Как передать необязательные параметры методу в C #?

Предположим, я создал один метод под названием Sendcommand

public void SendCommand(String command,string strfilename)
{

    if (command == "NLST *" ) //Listing Files from Server.
    {
        //code
    }
    else if (command == "STOR " + Path.GetFileName(uploadfilename)) //Uploading file to Server
    {
        //code
    }
    else if ...
}

Теперь я хочу вызвать этот метод в основном методе, как

Sendcommand("STOR ", filename);
Sendcommand("LIST"); // In this case i dont want to pass the second parameter

Как этого добиться?

Ответы [ 12 ]

0 голосов
/ 29 июля 2010

Создать еще один метод, который вызывает первый?

public void SendCommand(String command)
{
    SendCommand(command, null);
}
0 голосов
/ 29 июля 2010

Для этого есть три простых решения:

  1. Перегрузить метод
  2. Разрешить методу принимать 'null' и обрабатывать соответствующим образом
  3. Используйте .NET 4, которая допускает необязательные параметры
...