Перегрузка конструктора с параметрами по умолчанию

Я случайно перегрузил конструктор в C #следующим образом:

public MyClass(string myString) 
{
    // Some code goes here 
}

public MyClass(string myString, bool myParameter = false) 
{
   // Some different code here
}

С этим кодом мой проект скомпилирован нормально. Если я вызову конструктор только с аргументом string, как C #решит, какой конструктор я хочу использовать? Почему эта функциональность синтаксически разрешена?

12
задан cytinus 20 July 2012 в 19:46
поделиться