【发布时间】:2010-02-25 19:14:36
【问题描述】:
如果我这样做,我会得到一个System.StackOverflowException:
private string abc = "";
public string Abc
{
get
{
return Abc; // Note the mistaken capitalization
}
}
我明白为什么 - 属性引用自身,导致无限循环。 (参见之前的问题here 和here)。
我想知道(以及我在之前的问题中没有看到答案)是为什么 C# 编译器没有发现这个错误?它会检查一些其他类型的循环引用(类从自身继承等),对吗?只是这个错误不够普遍,不值得检查吗?或者是否有一些我没有想到的情况,当您希望属性以这种方式实际引用自身时?
【问题讨论】:
-
通过“引用自身”,我想我的意思是“递归地调用自身”,但你明白了。
标签: c# compiler-construction exception