如果我使用set访问器更改C#中的静态类成员,为什么会出现堆栈溢出错误?
我并不认为这是一个bug,我只是想知道机器的内部到底发生了什么。
发布于 2009-03-17 22:08:51
你不应该这样;我希望你有这样的东西:
private static int foo;
public static int Foo {
get {return foo;}
set {Foo = value;} // spot the typo!!! (should be foo)
}从本质上讲,set是:
static void set_Foo(int value) {
set_Foo(value);
}所以这是递归的,最终会消耗整个堆栈(假设没有优化,等等)。
没有代码样本,就不可能进行更多的诊断。
https://stackoverflow.com/questions/656226
复制相似问题