У меня проблема с одним из приложений C#, которые я поддерживаю. Я вижу то, чего не понимаю, поэтому я хотел бы попросить разъяснений. Это может быть или не быть связано с проблемой, которую я испытываю.Использование базового конструктора
class C2iModel
{
public C2iModel() { //blah }
}
class EplrsModel : C2iModel
{
public EplrsModel() : base() { //blah }
}
Мое понимание, когда вызывается дочерний конструктор, автоматически вызывается родительский конструктор.
Вопрос в том, имеет ли значение какой-либо явный вызов базового конструктора в конструкторе EplrsModel
?
Родительские типы [* по умолчанию * Конструктор] (http://msdn.microsoft.com/en-us/library/ms173115.aspx) используется, если нет 'base' указано, и являющийся тем, у которого нет параметров, является тем же конструктором, который использует 'base()'. Из ссылки «В производном классе, если конструктор базового класса не вызывается явно, используя ключевое слово base, конструктор по умолчанию, если он есть, называется неявным. Это означает, что следующие объявления конструктора [с и без' base() '] фактически одинаковы». – user2864740
В этом конкретном случае (без параметров ctor) это абсолютно не имеет значения. –