检测变量变化c#
Detect variable change c#
我已经搜索了一段时间,但没有找到适合我的问题的任何内容。
我有一个整数:
private static int kills = 0;
我想要一个函数 运行 当该变量改变时。就像,现在是0。如果它变为 2,我想要一个像 OnVarChange 这样的函数被调用,而那个函数 OnVarChange 将 return被改变了。在这种情况下 2-0=2,所以它将 return 2.
这可能吗?我该怎么做?
希望你明白我刚才说的:p
您需要提供变更机制:
添加:
public static int Kills{
get{ return kills; }
set{
kills = value;
//change code here...
}
}
只有 set
使用此 public Kills
属性。如果可能,不要直接更改实例成员 kills
。但总有例外。
制作一个属性,允许其中的逻辑。那将是添加这种功能的好地方:
private static int kills = 0;
public static int Kills
{
get
{
return kills;
}
set
{
this.kills = value;
this.OnVarChange();
}
}
更好的选择是实现 INotifyPropertyChanged
,这是一个接口,UI 和框架的其他部分可以选择并采取行动。
public class X : INotifyPropertyChanged
{
private int kills = 0;
public int Kills
{
get
{
return kills;
}
set
{
this.kills = value;
this.OnPropertyChanged();
}
}
public event PropertyChangedEventHandler PropertyChanged;
protected void OnPropertyChanged([System.Runtime.CompilerServices.CallerMemberName] string propertyName = "")
{
PropertyChangedEventHandler pc = this.PropertyChanged;
if (pc != null)
{
pc(this, new PropertyChangedEventArgs(propertyName));
}
}
}
static int Kills
{
get{
return kills;
}
set{
OnVarChange(kills,value);
kills = value;
}
}
为 kills
定义一个 属性。使用此 属性 更改 kills
的值。您可以使用此 属性 的设置访问器调用方法来检测变量 kills
.
的变化
我已经搜索了一段时间,但没有找到适合我的问题的任何内容。
我有一个整数:
private static int kills = 0;
我想要一个函数 运行 当该变量改变时。就像,现在是0。如果它变为 2,我想要一个像 OnVarChange 这样的函数被调用,而那个函数 OnVarChange 将 return被改变了。在这种情况下 2-0=2,所以它将 return 2.
这可能吗?我该怎么做?
希望你明白我刚才说的:p
您需要提供变更机制:
添加:
public static int Kills{
get{ return kills; }
set{
kills = value;
//change code here...
}
}
只有 set
使用此 public Kills
属性。如果可能,不要直接更改实例成员 kills
。但总有例外。
制作一个属性,允许其中的逻辑。那将是添加这种功能的好地方:
private static int kills = 0;
public static int Kills
{
get
{
return kills;
}
set
{
this.kills = value;
this.OnVarChange();
}
}
更好的选择是实现 INotifyPropertyChanged
,这是一个接口,UI 和框架的其他部分可以选择并采取行动。
public class X : INotifyPropertyChanged
{
private int kills = 0;
public int Kills
{
get
{
return kills;
}
set
{
this.kills = value;
this.OnPropertyChanged();
}
}
public event PropertyChangedEventHandler PropertyChanged;
protected void OnPropertyChanged([System.Runtime.CompilerServices.CallerMemberName] string propertyName = "")
{
PropertyChangedEventHandler pc = this.PropertyChanged;
if (pc != null)
{
pc(this, new PropertyChangedEventArgs(propertyName));
}
}
}
static int Kills
{
get{
return kills;
}
set{
OnVarChange(kills,value);
kills = value;
}
}
为 kills
定义一个 属性。使用此 属性 更改 kills
的值。您可以使用此 属性 的设置访问器调用方法来检测变量 kills
.