c# bool.change event
Can I setup an event listener so that when a b开发者_如何学编程ool changes a function is called?
You should use properties in C#, then you can add any handling you want in the setter (logging, triggering an event, ...)
private Boolean _boolValue
public Boolean BoolValue
{
    get { return _boolValue; }
    set
    {
        _boolValue = value;
        // trigger event (you could even compare the new value to
        // the old one and trigger it when the value really changed)
    }
}
Manually, Yes you can
public delegate void SomeBoolChangedEvent();
public event SomeBoolChangedEvent SomeBoolChanged;
private bool someBool;
public bool SomeBool
{
    get
    {
        return someBool;
    }
    set
    {
        someBool = value;
        if (SomeBoolChanged != null) 
        {
             SomeBoolChanged();
        }
    }   
}
Not sure however if this is what you are looking for.
The important question here is: when a bool what changes?
Since bool is a value type you cannot pass around references to it directly. So it doesn't make sense to talk about anything like a Changed event on bool itself -- if a bool changes, it is replaced by another bool, not modified.
The picture changes if we 're talking about a bool field or property on a reference type. In this case, the accepted practice is to expose the bool as a property (public fields are frowned upon) and use the INotifyPropertyChanged.PropertyChanged event to raise the "changed" notification.
Look into implementing INotifyPropertyChanged. MSDN has got a great How To on the subject
 
         加载中,请稍侯......
 加载中,请稍侯......
      
精彩评论