我需要一个litle帮助....我刚刚开始使用C#,我需要在bool值改变时引发一个事件。我有一个课程:
using System;
namespace WOCA
{
public class Arduino
{
public event EventHandler Disconnected;
**protected virtual void OnDisconnected()
{
EventHandler handler = Disconnected;
if (handler != null)
{
handler(this, EventArgs.Empty);
}
}**
private bool _isconnected;
public bool IsConnected
{
get
{
return _isconnected;
}
}
#region Methods
public void Connect()
{
//TODO implement code to connect
_isconnected = true;
}
public void Disconnect()
{
//TODO implement code to connect
_isconnected = false;
}
#endregion Methods
}
}
但是当_isconnected改变值时,如何引发/触发事件?
答案 0 :(得分:2)
应该很简单
public event EventHandler Disconnected;
protected virtual void OnDisconnected()
{
EventHandler handler = Disconnected;
if (handler != null)
{
handler(this, EventArgs.Empty);
}
}
private bool _isconnected;
public bool IsConnected
{
get
{
return _isconnected;
}
private set
{
if (!value && _isConnected)
{
OnDisconnected();
}
_isconnected = value;
}
}
#region Methods
public void Connect()
{
//TODO implement code to connect
IsConnected = true;
}
public void Disconnect()
{
//TODO implement code to connect
IsConnected = false;
}
#endregion Methods
答案 1 :(得分:1)
你拥有所有代码,只需要触发器......
public void Disconnect()
{
_isconnected = false;
OnDisconnected();
}