我正在进行代码审查,并偶然发现一个抽象类继承自具有继承类属性的抽象基类的情况.
目前我无法调试代码以查看它是如何工作的,但我确信这已经在生产中工作了很多年.
因此,对于我来说,以下逻辑如何逐步发挥作用是一个谜.
传承:
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)
这怎么可能?
希望在概念层面上有意义的一个例子:
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)的人身上,或者是圆圈.