Spring – Rev 1

Subversion Repositories:
Rev:
using System;
using System.Windows.Forms;

namespace Spring.MouseKeyboard
{
    internal class KeyActionKeys : KeyAction, IEquatable<KeyActionKeys>
    {
#region Public Enums, Properties and Fields

        public Keys Keys { get; }

#endregion

#region Constructors, Destructors and Finalizers

        public KeyActionKeys(Keys keys) => Keys = keys;

#endregion

#region Public Methods

        public bool Equals(KeyActionKeys other)
        {
            if (ReferenceEquals(null, other))
            {
                return false;
            }

            if (ReferenceEquals(this, other))
            {
                return true;
            }

            return Keys == other.Keys;
        }

        public override bool Equals(object obj)
        {
            if (ReferenceEquals(null, obj))
            {
                return false;
            }

            if (ReferenceEquals(this, obj))
            {
                return true;
            }

            if (obj.GetType() != GetType())
            {
                return false;
            }

            return Equals((KeyActionKeys) obj);
        }

        public override int GetHashCode() => (int) Keys;

#endregion
    }
}