В 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
является правильным..