- 什麼時候應該重寫帶有類屬性的ToString()方法以及何時使用字段?
- 只有一種方法有效或兩者都有?
如果兩者都可以,我們應該在哪種情況下使用每種方法?用屬性或字段覆蓋ToString()方法?
public override string ToString() { return String.Format("{0},{1}", this.field1, this.field2); // ..or return String.Format("{0},{1}", this.Property1, this.Property2); }
請幫忙???
這與修改的值有什麼關係?使用屬性的實現僅使用getter,並且屬性可能是隻讀的。 – juharr
@juharr如果通過構造函數設置屬性然後再進行修改會發生什麼?這會改變預期的行爲,並且不可能用現場方法(無反射)。有可能這些屬性不是隻讀的......問題中沒有足夠的細節來說明。關鍵是要正確封裝行爲並避免意想不到的副作用。它可能相關也可能不相關,這就是我爲什麼要這樣說的原因。 –
好的,所以從所有的答案中,我明白這兩種方式實際上都是可能的,但在特殊情況下選擇哪種方式完全取決於程序中類功能的方式。感謝您對此問題的關注!我還不能投票給最好的答案,因爲我太新了..乾杯! – CSharp4eto