public class Class1
    {
        public Class1()
        {
            prop = new Class2();
        }
        public Class2 prop { get; set; }

        public class Class2
        {
            public Class2()
            {
                this.prop2 = "nikola";
            }

            public string prop2 { get { return prop2; } set { prop2 = EditString(value); } }

            public string EditString(string str)
            {
                str += " plavsic";
                return str;
            }
        }
    }

这是我有问题的代码。当我尝试初始化 Class1 类型的对象时,它会引发 StackOverflowException 错误。我究竟做错了什么?

最佳答案

Prop2 设置/返回 Prop2... 它调用 Prop2 来获取/设置 Prop2 的值,它调用 Prop2... 看看这是怎么回事?

这种情况一直发生,直到计算机/运行时用完存储调用堆栈的空间,然后死亡。

关于c# - 我在属性 C# 的 set 函数的嵌套类中收到 StackOverflowException 错误,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/4269755/

10-09 10:05