当C#中变量的值发生变化时,如何执行代码?

Roh*_*nsi 8 c# variables delegates

我希望在特定变量的值发生变化时切换按钮的可见性.有没有办法将某种委托附加到一个变量,该变量在值变化时自动执行?

Meh*_*ari 18

不,你不能做在C#中重载赋值运算符之类的事情.您可以做的最好的事情是将变量更改为属性并调用方法或委托或在其setter中引发事件.

private string field;
public string Field {
   get { return field; }
   set { 
       if (field != value) {
           field = value;
           Notify();
       } 
   }
}
Run Code Online (Sandbox Code Playgroud)

这是由许多框架(如WPF DependencyProperty系统)来跟踪属性更改.