我有一个名为的数组属性Value:
public string[,] Value { get; set; }
Run Code Online (Sandbox Code Playgroud)
我想Save()在数组(不是整个数组)的任何值发生更改时调用该方法。
有没有简单的方法来实现它?
并不真地。数组是非常原始的类型,当事情发生变化时不会通知你。
您能做的最好的事情是创建一个自定义类型,它的作用类似于 2D 数组,但此外,它会在元素发生更改时引发一个事件。然后,您当前的班级将订阅此事件并调用Save()。
一些补充意见:
Save()索引器的 setter 时调用。见下文。 公共字符串 this[int x, int y]
{
得到 { 返回 this.localArray[x,y]; }
放
{
this.localArray[x,y] = 值;
this.Save();
}
}