亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

C# 中的屬性訪問器遞歸是什么?

C# 中的屬性訪問器遞歸是什么?

C#
忽然笑 2023-09-16 20:17:33
C# 中的屬性訪問器遞歸是什么?我看到有關如何解決該問題的文章,但想要對其進行純粹的技術定義。有關如何解決該問題的資源:C# 屬性設置器主體,無需聲明類級屬性變量
查看完整描述

1 回答

?
搖曳的薔薇

TA貢獻1793條經驗 獲得超6個贊

如果您將 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);

}

您會注意到,這兩種情況都會導致無限遞歸,并以堆棧溢出結束。

所以不要那樣做?


查看完整回答
反對 回復 2023-09-16
  • 1 回答
  • 0 關注
  • 105 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號