Информация об изменениях

Сообщение .ctor base vs this от 25.05.2020 10:00

Изменено 25.05.2020 10:02 vladpol

.ctor base vs this
Всем доброго.
Вышла с коллегой дискуссия:
Есть прмерно такой код
public class B
{
 //...
  B():this(null, null, null)
  {}
  B( int? a):this(a, null, null)
  {}
  B(int? a, double? b, string c)
  {
    //...
  }
} 

public class D:B
{
 //...
  D():base() //this(null, null, null)
  {}
  D( int? a):base(a) //this(a, null, null)
  {}
  D(int? a, double? b, string c):base(a,b,c)
  {
    //...
  }
}


Вопрос: есть ли принципиальная разница межу вызовами из наследных конструкторов базовых или сведение к одному со многими парметрами. Я считаю, что 100% выигрышного варинта нет, коллега убежден, что едиственно правильный вариант, то чтобы base был только 1, а все остальній конструторі редиректили через this.
Хотелось бы услышать еще мнения.
Спасибо
.net c# .ctor
.ctor base vs this
Всем доброго.
Вышла с коллегой дискуссия:
Есть прмерно такой код
public class B
{
 //...
  B():this(null, null, null)
  {}
  B( int? a):this(a, null, null)
  {}
  B(int? a, int? b):this(a,b,null)
  {}
  B(int? a, double? b, string c)
  {
    //...
  }
} 

public class D:B
{
 //...
  D():base() //this(null, null, null)
  {}
  D( int? a):base(a) //this(a, null, null)
  {}
  D(int? a, int? b):base(a,b) //this(a,b,null)
  {}
  D(int? a, double? b, string c):base(a,b,c)
  {
    //...
  }
}


Вопрос: есть ли принципиальная разница межу вызовами из наследных конструкторов базовых или сведение к одному со многими парметрами. Я считаю, что 100% выигрышного варинта нет, коллега убежден, что едиственно правильный вариант, то чтобы base был только 1, а все остальній конструторі редиректили через this.
Хотелось бы услышать еще мнения.
Спасибо
.net c# .ctor