private void ButtonPress(CalculatorKeys parameter)
        {
            if (!string.IsNullOrEmpty(ExpressionString))
            {
                switch (parameter)
                {
                case CalculatorKeys.Equal:
                    EqualClicked();
                    return;

                case CalculatorKeys.Clear:
                    ClearClicked();
                    return;

                case CalculatorKeys.ClearEntry:
                    ClearEntryClicked();
                    return;
                }
            }

            if (!string.IsNullOrEmpty(parameter.GetText()))
            {
                ExpressionString       = ExpressionString.Insert(CurrentCursorPosition, parameter.GetText());
                CurrentCursorPosition += 1;
            }
        }
        public static string GetText(this CalculatorKeys key)
        {
            switch (key)
            {
            case CalculatorKeys.Zero:
            case CalculatorKeys.One:
            case CalculatorKeys.Two:
            case CalculatorKeys.Three:
            case CalculatorKeys.Four:
            case CalculatorKeys.Five:
            case CalculatorKeys.Six:
            case CalculatorKeys.Seven:
            case CalculatorKeys.Eight:
            case CalculatorKeys.Nine:
                return(((int)key).ToString());

            case CalculatorKeys.Plus:
                return("+");

            case CalculatorKeys.Minus:
                return("-");

            case CalculatorKeys.Multiply:
                return("*");

            case CalculatorKeys.Divide:
                return("/");

            case CalculatorKeys.Point:
                return(".");

            case CalculatorKeys.LeftBracket:
                return("(");

            case CalculatorKeys.RightBracket:
                return(")");

            default:
                return(null);
            }
        }
 public static bool IsNumber(this CalculatorKeys key)
 {
     return(NumberKeys.Contains(key));
 }
 public static bool IsOperationKey(this CalculatorKeys key)
 {
     return(OperationKeys.Contains(key));
 }