В C# - как пропустить параметры со значениями по умолчанию?

рассмотрим следующий способ:

public void MyMethod (string par1, bool par2 = "true", string par3="")
{
}

теперь предположим, что я вызываю MyMethod и устанавливаю значение par3 в "IamString".

как я могу это сделать, не устанавливая значение par2 в true или false?

Я в основном хочу оставить значение par2 по умолчанию.

Я спрашиваю это, потому что в ActionScript Flash это можно сделать, используя ключевое слово по умолчанию поэтому я мог бы позвонить MyMethod ("somestring", по умолчанию "IamString") и par2 будут интерпретироваться как правда, что является значением по умолчанию. Интересно, возможно ли это и в C#.

2 ответов


public void MyMethod (string par1, bool par2 = "true", string par3=""){}
Myclass.MyMethod(par1:"par1", par3:"par3");

кстати, это не сработает: bool par2 = "true"

string par2 = "true"

или

bool par2 = true

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

default(T)


Вы можете указать имя параметра:

instance.MyMethod( "Hello", par3:"bla" );

посмотреть здесь.

и есть еще одна ошибка:

bool par2 = true

является правильным..