[英]Array change event
我有一個名為Value
的數組屬性:
public string[,] Value { get; set; }
我想在數組的任何值(而不是整個數組)發生更改時調用Save()
方法。
有沒有一種簡單的方法來實現它?
並不是的。 數組是非常原始的類型,當事情發生變化時不會通知您。
您可以做的最好的事情是創建一個類似2D數組的自定義類型,但此外,它會在元素發生更改時引發事件。 然后,您當前的課程將訂閱此活動並調用Save()
。
一些額外的評論:
Save()
。 見下文。 public string this[int x, int y] { get { return this.localArray[x,y]; } set { this.localArray[x,y] = value; this.Save(); } }
不要使用數組。 想想ObservableCollection <>,如果盒子里的那個不符合您的需要,請自己制作。 並刪除setter,您不希望客戶端代碼中斷您的通知。
為什么不創建一個自己的索引器(就像這里的索引器一樣,這樣你就可以准確地知道你的“數組”何時更新了?你可以從setter中調用Save
。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.