Si he creado la siguiente Empleado objeto (simplificado) ...¿Puede un objeto personalizado C# contener una propiedad del mismo tipo que él?
public class Employee
{
public Employee()
{
}
public String StaffID { get; set; }
public String Forename { get; set; }
public String Surname { get; set; }
}
... ¿sería aceptable tener otra propiedad en el Empleado objeto con un tipo también ser Empleado para mantener sus detalles de administrador (como se muestra a continuación)?
public class Employee
{
public Employee()
{
}
public String StaffID { get; set; }
public String Forename { get; set; }
public String Surname { get; set; }
public Employee Manager { get; set; }
}
Además, ¿cuál es la mejor manera de crear una instancia del Empleado objeto para la propiedadManager? Obviamente, incluir this.Manager = new Employee();
en el constructor causará un ciclo infinito. ¿Sería el mejor Manager clase que hereda de Employee (aunque todas las propiedades serían idénticas)?
@FelixK. Eso es un poco duro, es una buena pregunta y le interesó leer esto * ... en el constructor causará un bucle infinito *. Recuerde que todos no son expertos – V4Vendetta
@ V4Vendetta Es verdad, no todos somos expertos. Pero cuando tengo un problema o pregunta voy a probar algunas formas de resolver la tarea que causa el problema. –
@FelixK. Sí, lo probé y lo compilé bien. Esta es la razón por la cual mi pregunta era si era 'aceptable' en lugar de 'funcionará'. Quería comprobar si esto era una buena práctica o no más que nada. Da la casualidad que las soluciones a continuación con respecto a la ejemplificación del objeto son más o menos lo que había concluido también, pero una vez más, al ser relativamente inexperto, quería asegurarme de estar en buen camino. – triplestones