I've an array property called Value
:
public string[,] Value { get; set; }
I want to call the Save()
method when any value of the array (not the entire array) has changed.
Is there an easy way to implement it?
Not really. Arrays are very primitive types and do not notify you when things change.
The best you can do is create a custom type that acts like a 2D array, but in addition it raises an event when an element has changed. Your current class would then subscribe to this event and call Save()
.
Some additional comments:
Save()
when the indexer's setter is called. See below.public string this[int x, int y] { get { return this.localArray[x,y]; } set { this.localArray[x,y] = value; this.Save(); } }
Don't use an array. Think ObservableCollection<>, make your own if the one in the box doesn't fit your needs. And drop the setter, you don't want the client code to break your notifications.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With