有一需求必須複製一個Model,這時如果異動Model_Copy時會造成Model_Source也跟著被更動,爬文後找到了一些方法來測試,問題依然存在…
- 用等於(=)的方式取值
- 程式碼
- 結果:
- 程式碼
- 用new建立新的物件的方式取值
- 程式碼
- 結果
- 程式碼
- 利用LINQ的方式取值
- 程式碼
- 結果
- 程式碼
最後終於找到了一個方法可以用,那就是讓Model繼承ICloneable
並使用Object
中的MemberwiseClone()來實作Clone()
,就可以順利Copy啦!
- 程式碼
- Model
- 利用LINQ來呼叫
Clone()方法
- Model
- 結果