1

ここで少し助けが必要です.... 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 が値を変更したときにイベントを発生/トリガーするにはどうすればよいですか?

4

2 に答える 2

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
于 2013-10-01T12:34:24.470 に答える
1

そこにすべてのコードがあり、必要なのはトリガーだけです...

public void Disconnect()
{
    _isconnected = false;
    OnDisconnected();
}
于 2013-10-01T12:31:12.557 に答える