Auxiliary Constructors en C#.

En este post te voy a explicar que son los constructores auxiliares en C# y cuando debes usarlos.

El concepto de constructores auxiliares lo he tomado de Scala. En C# todavía no vas a ver la mención de este, ya que proviene del uso de las record classes. Mismas que existen desde C# 9.

Constructor principal y constructor auxiliar.

Los record types, por defecto, tienen un constructor que va a ser llamado. Este constructor es el que declaras junto con el nombre del record; lo que va entre paréntesis. A este lo nombramos constructor principal. Todos los demás constructores, ya sean del record, son los auxiliares.

Un constructor auxiliar, siempre va a necesitar llamar a otro constructor. Un constructor principal, no. La secuencia de llamado de los constructores, siempre terminará llamando al constructor principal en algún momento.

 

Constructores auxiliares y herencia.

Cuando  tu record hereda de otro, debes de especificar que constructor del record padre va a ser usado. Este es el único sitio al que podrás acceder a los constructores del record base. Todos los otros constructores que declares solo podrán acceder al contexto de la clase hija. No puedes utilizar «base()».

Gustavo Sánchez