Первый класс объектов
Добрый день.
В этой статье будет рассказано о том, как же лучше всего хранить различные переменные и доставать их, когда нам это надо.
Для этого нам понадобится создать объект класса к нашей уже существующей программе (эта). Открываем проект, открываем «Solution explorer», кликаем по названию нашего проекта правой клавишей мыши и выбираем «Add Item» (рис. 1), выбираем «Class.cs» и называем его «myCl» (рис. 2)


namespace myCulc_1
{
public class myCl
{
}
}Следующий шаг будет заключаться в том, чтобы перетащить нашу функцию в класс. Вы наверно спросили, себя: А как же мы будем передавать параметры?. Отвечаю: Довольно просто и это я опишу чуть ниже, а сейчас отмечу то, что функция проверки значений пока останется в форме. Теперь добавим еще один класс и назовем его «EnterVal» и также присвоим ему свойство «public». В этом классе мы будем размещать наши переменные, которые будут вводиться нами. Давайте опишем их:
public class EnterVal
{
private float N1 = 0;
private float N2 = 0;
//
public float _N1 { get { return N1; } set { N1 = value; } }
public float _N2 { get { return N2; } set { N2 = value; } }
}Теперь необходимо внести некоторые поправки в нашу форму, процедуру и функцию проверки. Также сделать ссылку на объект класса с входными параметрами:
public partial class Form1 : Form
{
private EnterVal enVal;
private myCl mC;
public Form1()
{
InitializeComponent();
enVal = new EnterVal();
mC = new myCl(enVal);
}
private void Go()
{
if (!check())
{
return;
}
this.lblOut.Text = mC.myFunc().ToString();
}
private bool check()
{
try
{
enVal._N1 = Convert.ToSingle(this.txtN1.Text);
enVal._N2 = Convert.ToSingle(this.txtN2.Text);
}
catch (System.Exception erAll)
{
MessageBox.Show("Параметры введены неверно");
return false;
}
return true;
}
}
Откроем класс «myCl» и подтвердим ссылку на полученный объект, добавим функцию расчета:
public class myCl
{
private EnterVal enVal;
public myCl(EnterVal enVal)
{
this.enVal = enVal;
}
public float myFunc()
{
float sum = enVal._N1 + enVal._N2;
return sum;
}
}Запустите построитель, а затем отладчик. Если никаких ошибок не оказалось, то вы все правильно сделали. Чтобы понять, как же достать входные параметры: кинем на форму один «Lable» и назавем его «lblParams». Организуем вывод всей информации в одной процедуре. Создадим новую процедуру и назавем ее «Fill», вставим код:
private void Fill()
{
this.lblOut.Text = mC.myFunc().ToString();
this.lblParams.Text = "Были введены:" + enVal._N1 + " и " + enVal._N2;
this.txtN1.Text = "";
this.txtN2.Text = "";
}Добавим «Fill» в процедуру «Go»:
private void Go()
{
if (!check())
{
return;
}
Fill();
}Ну вот и все, что я хотел высказать в этой сатье.
Доброго дня.