Вынесение процедур и функций в отдельную 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(); } } }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д