问题描述
||
我想知道哪种更好的信息存储方式?中央静态类还是父类?
我现在存储它的方式的代码。我每次都上一堂新课。
家长班:
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);
}
解决方法
在黑暗中刺痛(因为我不知道您到底想完成什么),我将创建一个实例化的类并使用单例模式。
, 我个人将(并且确实)使用中央静态类。两种选择都违反了OO原则,但是至少中央静态类方法没有将表单的内部工作暴露给外部。
, 在使用包含事物的“状态”的静态列表之前,我遇到了麻烦,并且发现自己向列表的“ clear”或“ update”中添加了静态函数,所以我学会只对静态不变的事物使用静态类,列表或变量。
如果您将对象保留在可以更改的列表中,我将使用实例化的路线。
更新
现在,我看到您的列表是一个雇员列表,将其转换为静态基本上使它成为全局变量。全局变量不好。我找到了这个答案,将其总结得很好。