我一直在編寫一個使用Web服務的應用程序,下載JSON格式的數據,將它反序列化爲類。該服務是基於PHP的(我相信)。Inline Encapsulation停止工作
最近,網絡服務已經有一個更新,對我的類聲明有意想不到的後果。 直到最近,我一直在使用這種線爲類變量
public string consent_id { get { return consent_id.ToUpper(); } set { consent_id = value; } }
之一,它似乎已被很好地工作。但自從更新到他們的服務。這已經導致堆棧溢出異常,我不得不更改代碼以
string Consent_id;
public string consent_id { get { return Consent_id.ToUpper(); } set { Consent_id = value; } }
感覺就像第一行開始遞歸調用設定的封裝。
有誰知道爲什麼第一個停止工作?它拋出堆棧溢出異常的實際原因是什麼?有沒有辦法設置Getter而不設置Setter內聯,所以我不打算封裝所有需要修改Getter的內容?
謝謝
在您的第一行中,當您調用'return consent_id.ToUpper();'時,遞歸調用getter。所以,在這種情況下使用備份是一個很好的做法。你不能設置一個吸氣體沒有設置一個setter身體 –
@GeorgeAlexandria在測試中,我們把ToUpper()拿出來,它沒有改變。這是Setter也拋出異常。 – Seige
你測試了第一個例子還是第二個與後臺字段? –