gpt4 book ai didi

c# - 自定义 C# 对象是否可以包含与其自身类型相同的属性?

转载 作者:可可西里 更新时间:2023-11-01 08:53:26 25 4
gpt4 key购买 nike

如果我创建了以下 Employee 对象(简化)...

 public class Employee
{
public Employee()
{
}

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

...是否可以接受在 Employee 对象中使用类型也为 Employee 的另一个属性来保存其经理的详细信息(如下所示)?

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

此外,为 Manager 属性实例化 Employee 对象的最佳方法是什么?显然在构造函数中包含 this.Manager = new Employee(); 会导致死循环。从 Employee 继承的 Manager 类是否是最好的方式(即使所有属性都相同)?

最佳答案

一个对象可以确实有对其自身类型的对象的引用。

这就是大多数 Node 类型对象的实现方式。

至于实例化 - 您可以传入 Employee 对象以用作经理(传入 null 表示没有经理)。构造函数可以有多个重载:

public Employee(Employee manager)
{
this.Manager = manager;
}

关于c# - 自定义 C# 对象是否可以包含与其自身类型相同的属性?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8892703/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com