Лучше хранить вашу информацию в классе одного из родителей или в центральном статическом классе

StackOverflow https://stackoverflow.com/questions/6346344

Вопрос

Мне интересно, какой способ хранить информацию? Центральный статический класс или в родительском классе?

Код для того, как я его сейчас храню. Я инчиняю новый класс каждый раз.

Родительский класс:

public partial class frmEmployeeManager: Form
    {
        List<Employee> lstEmployees = List<Employee>();
        public frmEmployeeManager()
        {
            InitializeComponent();
        }
        public void updatePay(float Pay, int ID)
        {
            //Where ID = ID change the Pay
            //(Omitted the foreach loop here for brevity)
        }
        private void btnDisplayData_Click(object sender, EventArgs e)
        {
             frmUpdatePay dlgUpdatePay = new frmUpdatePay(this);
             dlgUpdatePay.ShowDialog();
        }

     }

Детский класс:

public partial class frmUpdatePay : Form
{
    private frmEmployeeManager ParentEmployeeManager;

    public frmUpdatePay(frmEmployeeManager EmployeeManager)
    {
        InitializeComponent();
        ParentEmployeeManager = EmployeeManager;
    }
            AddPersonParent.updatePay(fltPayInput, intID);
}
Это было полезно?

Решение

Получив удар в темноте (так как я не знаю точно, чего вы пытаетесь достичь), я бы сделал экземплярный класс и использовал бы один шаблон.

Другие советы

Лично я бы (и сделал) использовать центральный статический класс. Оба выбора нарушают принципы ОО, но, по крайней мере, подход центрального статического класса не разоблачает внутреннюю работу моих форм снаружи.

Я попал в беду раньше, когда я использовал статический список, который держал «состояние» вещей, и я обнаружил, что добавляю статические функции, чтобы «очистить» или «обновить» список и т. Д. Поэтому я научился использовать только статические классы или списки или переменные для вещей, которые, ну, в общем, не изменяются.

Если вы держите объекты в списке, которые могут измениться, я бы пошел по созданию маршрута.

Обновлено

Теперь, когда я вижу, что ваш список является списком сотрудников, преобразование его в статику, в основном, делает его глобальной переменной. Глобальные переменные не хороши. Я нашел этот ответ, который Подводит и суммирует это довольно хорошо.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top