C# 中的属性访问器递归是什么?

C# 中的属性访问器递归是什么?我看到有关如何解决该问题的文章,但想要对其进行纯粹的技术定义。

有关如何解决该问题的资源:

C# 属性设置器主体,无需声明类级属性变量


忽然笑
浏览 49回答 1
1回答

摇曳的蔷薇

如果您将 getter 和 setter 视为方法(它们实际上是后台的方法 - C# 只是向您隐藏了这一点),那么情况会变得更清楚。每当您检索属性的值时,您都在调用 get 方法每当设置属性的值时,都会调用 set 方法因此,如果您有一个如下所示的属性:public string MyProperty {    get {        return this.MyProperty;    }    set {        this.MyProperty = value;    }}这真的就像有这两种方法:string get_MyProperty() {    return get_MyProperty();}void set_MyProperty(string value) {    set_MyProperty(value);}您会注意到,这两种情况都会导致无限递归,并以堆栈溢出结束。所以不要那样做™
打开App,查看更多内容
随时随地看视频慕课网APP