Um objeto C # personalizado pode conter uma propriedade do mesmo tipo que ela mesm

Se eu criei o seguinteEmpregad objeto (simplificado) ...

 public class Employee
    {
        public Employee()
        {       
        }

        public String StaffID { get; set; }
        public String Forename { get; set; }
        public String Surname { get; set; }
    }

... seria aceitável ter outra propriedade noEmpregad objeto com um Type também sendoEmpregad para manter os detalhes do gerente (como mostrado abaixo)?

 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; }
    }

Além disso, qual é a melhor maneira de instanciar oEmpregad objeto para oGerent propriedade? Obviamente, incluindothis.Manager = new Employee(); no construtor causará um loop infinito. Será que umGerent classe que herda deEmpregad ser a melhor maneira (mesmo que todas as propriedades sejam idênticas

questionAnswers(16)

yourAnswerToTheQuestion