【发布时间】:2016-06-05 00:59:41
【问题描述】:
您可以定义一个具有该类的成员字段的类,这似乎很奇怪。
public class Person
{
public string Name { get; set; }
public Person Spouse { get; set; }
}
现在如果我调用那个类:
var jane = new Person();
var jim = new Person();
jane.Spouse = jim;
jim.Spouse.Spouse = jane;
最后一行导致错误。但是我在想象 jim.Spouse.Spouse 电话在做什么时遇到了一些麻烦。它应该首先评估 jim.spouse 哪个为空,所以它会导致错误,对吗?如果我先断言 jim.Spouse = jane 那么它应该有效吗?但是我基本上是在说 jane.spouse = jane。
如果一个类有一个相同类型的字段,那么它对这个类做了什么?它只是允许类的两个实例有关系吗?类引用自己,所以它是从自己继承的?我有点困惑,也想知道这是否是不好的做法。
【问题讨论】:
-
如果答案有效,您应该单击复选标记以表明这一点。由于您还没有这样做,请发送Tour 以查看有关 SO 工作原理的一些详细信息。接受和赞成的答案有助于其他人找到好的答案
标签: c# class self-reference