Вынесение процедур и функций в отдельную dll С# - C#

Узнай цену своей работы

Формулировка задачи:

Всем привет нужна помощь, есть код калькулятора, надо вынести функции private void AddOperatorToArray(Button bttn), private void AddToArray(Button bttn) и private void Reset() в dll как ни пробовал ничего хорошего не выходит выручайте! Вот код программы может понадобиться:
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using ClassLibraryCalculation;
using System.Collections;
 
namespace WindowsFormsApplicationCalculator
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }
 
        string log;// переменная для логирования 
        
        public ArrayList mas_store = new ArrayList();
        string mas_value = "";
       
        private void AddOperatorToArray(Button bttn)
        {
            mas_store.Add(mas_value);
            TextBox_calculation.Text += bttn.Text;
            mas_value = "";
            mas_store.Add(bttn.Text);
 
        }
        private void AddToArray(Button bttn)
        {
            mas_value += bttn.Text;
            TextBox_calculation.Text += bttn.Text;
        }
 
        private void Reset()
        {
            mas_value = "";
            TextBox_calculation.Text = "";
            mas_store.Clear();
        }

        private void button_one_Click(object sender, EventArgs e)
        {
            AddToArray(button_one);
        }
 
        private void button_two_Click(object sender, EventArgs e)
        {
            AddToArray(button_two);
        }
        private void button3_Click(object sender, EventArgs e)
        {
            AddToArray(button_three);
 
        }
 
        private void button_four_Click(object sender, EventArgs e)
        {
            AddToArray(button_four);
        }
 
        private void button_five_Click(object sender, EventArgs e)
        {
            AddToArray(button_five);
        }
 
        private void button_six_Click(object sender, EventArgs e)
        {
            AddToArray(button_six);
        }
 
        private void button_seven_Click(object sender, EventArgs e)
        {
            AddToArray(button_seven);
        }
 
        private void button_eight_Click(object sender, EventArgs e)
        {
            AddToArray(button_eight);
        }
 
        private void button_nine_Click(object sender, EventArgs e)
        {
            AddToArray(button_nine);
        }
 
        private void button_zero_Click(object sender, EventArgs e)
        {
            AddToArray(button_zero);
        }
 
        private void button_plus_Click(object sender, EventArgs e)
        {
            AddOperatorToArray(button_plus);
        }

        private void button_equal_Click(object sender, EventArgs e)
        {
            try
            {
                mas_store.Add(mas_value);
                mas_store.Add(button_equal.Text);
 
                /* m_res получает первый элемент mas_store если этот элемент 
                 * оператор типа +*-/ то выдается сообщение об ошибке, иначе получается число
                 */
                double m_res;
 
                if (mas_store[0].ToString() == "")
                {
                    m_res = 1;
                }
                else
                {
                    m_res = Double.Parse(mas_store[0].ToString());
                }

                /* Цикл получает элементы массива и проверяет их 
                 * если элемент оператор тогда выполниться операция над предыдущим и 
                 * следующим элементом
                 */
                for (int i = 0; i < mas_store.Count; i++)
                {
 
                    if (mas_store[i].ToString() == "")
                    {
                        m_res = 1;
                    }
                    else if (mas_store[i].ToString() == "+")
                    {
                        TextBox_calculation.Text = "";
                        m_res += float.Parse(mas_store[i + 1].ToString());
                        TextBox_calculation.Text = m_res.ToString();
                    }
                    else if (mas_store[i].ToString() == "-")
                    {
                        TextBox_calculation.Text = "";
                        m_res -= float.Parse(mas_store[i + 1].ToString());
                        TextBox_calculation.Text = m_res.ToString();
                    }
                    else if (mas_store[i].ToString() == "*")
                    {
                        TextBox_calculation.Text = "";
                        m_res *= float.Parse(mas_store[i + 1].ToString());
                        TextBox_calculation.Text = m_res.ToString();
                    }
                    else if (mas_store[i].ToString() == "/")
                    {
                        TextBox_calculation.Text = "";
                        m_res /= float.Parse(mas_store[i + 1].ToString());
                        TextBox_calculation.Text = m_res.ToString();
                    }
                    else if (mas_store[0].ToString() == "" & mas_store[i].ToString() == "sqrt")
                    {
                        TextBox_calculation.Text = "";
                        m_res = Math.Sqrt(Double.Parse(mas_store[i + 1].ToString()));
                        TextBox_calculation.Text = m_res.ToString();
                    }

                }
                mas_store.Clear();
                mas_value = TextBox_calculation.Text;

            }
            catch (Exception exception)
            {
                MessageBox.Show(exception.Message, "Ошибка");
            }
        }

        /// <summary>
        /// Кнопка очистки, очищает Textbox и зануляет переменные
        /// </summary>
        private void button_Allclear_Click(object sender, EventArgs e)
        {
            TextBox_calculation.Text = "";
            Reset();
        }
 
        private void button_minus_Click(object sender, EventArgs e)
        {
            AddOperatorToArray(button_minus);
        }
 
        private void button_Clear_Click_1(object sender, EventArgs e)
        {
            TextBox_calculation.Text = "";
            Reset();
        }
 
        private void button_divide_Click(object sender, EventArgs e)
        {
            AddOperatorToArray(button_divide);
        }
 
        private void button_mult_Click(object sender, EventArgs e)
        {
            AddOperatorToArray(button_mult);
        }
 
        private void button_square_root_Click(object sender, EventArgs e)
        {
            AddOperatorToArray(button_square_root);
        }
 
        private void button_point_Click(object sender, EventArgs e)
        {
            TextBox_calculation.Text += ",";
        }
 
        private void выходToolStripMenuItem_Click(object sender, EventArgs e)
        {
            Close();
        }
 
        private void справкаToolStripMenuItem_Click(object sender, EventArgs e)
        {
            MessageBox.Show("Программа калькулятор;)","Справка");
        }
 
        private void button_pow_Click(object sender, EventArgs e)
        {
            AddOperatorToArray(button_pow);
        }
 
        private void Form1_Load(object sender, EventArgs e)
        {
 
        }
 
    }
}

Решение задачи: «Вынесение процедур и функций в отдельную dll С#»

textual
Листинг программы
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Collections;
using System.Windows.Forms;
 
namespace ClassLibraryCalculation
{
    public class Calculate
    {
        public ArrayList mas_store = new ArrayList();
        string mas_value = "";
 
        private void AddOperatorToArray(Button bttn)
        {
            mas_store.Add(mas_value);
            TextBox_calculation.Text += bttn.Text;
            mas_value = "";
            mas_store.Add(bttn.Text);
 
        }
        private void AddToArray(Button bttn)
        {
            mas_value += bttn.Text;
            TextBox_calculation.Text += bttn.Text;
        }
 
        private void Reset()
        {
            mas_value = "";
            TextBox_calculation.Text = "";
            mas_store.Clear();
        }
 
       
       }
 
    }

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

12   голосов , оценка 4 из 5