具有以下对象:
kubectl -n <namespace> describe pod <pod-name>
SubordinateList对象位于Employee对象内部,以某种方式使Employee成为SubordinateList的父级。
如果我们将此代码放在下面:
public class Employee
{
public string LastName { get; set; } = "";
internal class SubordinateList<T> : List<T>, IPublicList<T> where T : Employee
{
public new void Add(T Subordinate) { }
}
public IPublicList<Employee> Subordinates = new SubordinateList<Employee>();
}
第三行将触发SubordinateList的“ Add”方法。 我想像这样获取SubordinateList的父级的当前实例:
Anakin = New Employee();
Luke = New Employee();
Anakin.Subordinates.Add(Luke);
答案 0 :(得分:0)
您无法通过该方式进行操作,因为您没有对经理的引用。这就是我的实现方式:
public class Employee
{
public string FirstName { get; set; } = "";
public string LastName { get; set; } = "";
public string HiredDate { get; set; } = "";
private List<Employee> _subordinates = new List<Employee>();
public ReadOnlyCollection<Employee> Subordinates => _subordinates.AsReadOnly();
public void AddSubordinate(Employee employee)
{
_subordinates.Add(Employee);
//the manager is 'this'
var managerLastName = this.LastName;
}
}
将下级列表显示为ReadOnlyCollection
允许其他类读取该列表,但阻止它们直接更新列表。因此,只有AddSubordinate()
方法可用于添加员工,您可以在其中使用经理的信息来做所需的事情。