从Base继承的基类属性

Fir*_*ess 3 c#

我正在进行代码审查,并偶然发现一个抽象类继承自具有继承类属性的抽象基类的情况.

目前我无法调试代码以查看它是如何工作的,但我确信这已经在生产中工作了很多年.

因此,对于我来说,以下逻辑如何逐步发挥作用是一个谜.

传承:

public class Inheritor : Base {
  ...
  properties
  ...
}
Run Code Online (Sandbox Code Playgroud)

基础:

public class Base {
  public Inheritor { get; set; }
  ...
  other properties
  ...
}
Run Code Online (Sandbox Code Playgroud)

这怎么可能?

Aas*_*set 6

希望在概念层面上有意义的一个例子:

public class Boss : Employee {
  ...
  properties
  ...
}

public class Employee {
  public Boss { get; set; }
  ...
  other properties
  ...
}
Run Code Online (Sandbox Code Playgroud)

可能有很多类型的员工,但每个人都可能有一个老板(谁是一个特定的员工).回想一下,非基本类型的属性是引用,因此不Employee包含a Boss(因为它也是Employee)包含a Boss等等.一个Employee 可以指一个Boss,其可指代一个Boss等.在某些时候,它停在一个Boss没有Boss(参考是null)的人身上,或者是圆圈.