gpt4 book ai didi

c# - 阵列变化事件

转载 作者:行者123 更新时间:2023-11-30 13:50:50 33 4
gpt4 key购买 nike

我有一个名为 Value 的数组属性:

public string[,] Value { get; set; }

我想在数组(不是整个数组)的任何值发生变化时调用 Save() 方法。

有没有简单的实现方法?

最佳答案

不是真的。数组是非常原始的类型,当事情发生变化时不会通知您。

您可以做的最好的事情是创建一个像二维数组一样的自定义类型,但另外它会在元素发生变化时引发一个事件。然后,您当前的类(class)将订阅此事件并调用 Save()

一些额外的评论:

  • 您可能不想公开 setter,这允许人们更改您指向的数组。您可能只想公开 getter,以便它们可以更改值,但不能更改整个数组。
  • 我提到的可能已经有一种类型,但我不知道。
  • 如果您无论如何都要更改 API,那么在您的类中公开索引器可能更有意义,然后在调用索引器的 setter 时调用 Save()。见下文。
    public string this[int x, int y]     {         get { return this.localArray[x,y]; }        set         {             this.localArray[x,y] = value;            this.Save();        }    }

关于c# - 阵列变化事件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5449721/

33 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com