假设我有:
public Boolean booleanValue;
public bool someMethod(string value)
{
// Do some work in here.
return booleanValue = true;
}
如何创建一个在 booleanValue 更改时触发的事件处理程序?有可能吗?
How can I create an event handler that fires up when the booleanValue has changed? Is it possible?
通常避免使用公共字段.尽量将它们保密.然后,您可以使用包装器属性触发您的事件.看例子:
Avoid using public fields as a rule in general. Try to keep them private as much as you can. Then, you can use a wrapper property firing your event. See the example:
class Foo
{
Boolean _booleanValue;
public bool BooleanValue
{
get { return _booleanValue; }
set
{
_booleanValue = value;
if (ValueChanged != null) ValueChanged(value);
}
}
public event ValueChangedEventHandler ValueChanged;
}
delegate void ValueChangedEventHandler(bool value);
这是一种简单的原生"方式来满足您的需求.还有其他方法,甚至由 .NET Framework 提供,但上述方法只是一个示例.
That is one simple, "native" way to achieve what you need. There are other ways, even offered by the .NET Framework, but the above approach is just an example.
这篇关于创建一个事件来观察变量的变化的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持跟版网!