如果我已经创建了如下雇员对象(简化的)...自定义C#对象是否可以包含与其自身相同类型的属性?
public class Employee
{
public Employee()
{
}
public String StaffID { get; set; }
public String Forename { get; set; }
public String Surname { get; set; }
}
...这将是可以接受的在雇员对象的另一属性与类型也正在雇员保留经理的细节(如下所示)?
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; }
}
此外,什么是实例为经理财产员工对象的最佳方式?显然在构造函数中包含this.Manager = new Employee();
将导致无限循环。是经理继承雇员是最好的方式(即使所有的属性将是相同的)?
@FelixK:
现在你可以在main()函数一样使用它。这有点苛刻,它的一个很好的问题,并采取了一些兴趣阅读这个* ..在构造函数将导致无限循环*。记住所有不是专家 – V4Vendetta 2012-01-17 10:18:09
@ V4Vendetta这是事实,我们并不都是专家。但是,当我遇到问题或问题时,我会测试一些解决导致问题的任务的方法。 – 2012-01-17 10:33:35
@FelixK。是的,我确实尝试过,它编译得很好 - 这就是为什么我的问题是它是“可接受的”而不是“它会工作” - 我想检查这是否是好的做法或不是什么。碰巧,下面关于对象实例化的解决方案几乎与我所得出的结论一样,但又相对缺乏经验,我想确保我正常运行。 – triplestones 2012-01-17 11:01:25