多くの場所を使用する場合は、クラスのインスタントをどこに宣言するのか混乱します。
クラスのインスタントを作成する賢明な方法
私は4タスクなどの挿入、更新を実行し、削除し、注文データを充填していたに注文という名前のフォームがあるとします。これらの4つのすべてのタスクの
LogicはFinalOrderと異なる方法という名前のクラスでから呼び出される瞬間に作成され foの例では、別のクラスファイルでFinalOrder.csここ
言うですFinalOderフォーム。 以下
を参照するためのコードです:
最初の方法:
FinalOrder fo = new FinalOrder();
private void Order_Load(object sender, EventArgs e)
{
dgvOrder.DataSource = fo.FetchOrders();
}
private void btnNewOrder_Click(object sender, EventArgs e)
{
fo.NewOrder();
}
private void btnUpdateOrder_Click(object sender, EventArgs e)
{
fo.UpdateOrder();
}
private void btnDiscardOrder_Click(object sender, EventArgs e)
{
fo.DiscardOrder();
}
第二の方法:
private void Order_Load(object sender, EventArgs e)
{
FinalOrder fo = new FinalOrder();
dgvOrder.DataSource = fo.FetchOrders();
}
private void btnNewOrder_Click(object sender, EventArgs e)
{
FinalOrder fo = new FinalOrder();
fo.NewOrder();
}
private void btnUpdateOrder_Click(object sender, EventArgs e)
{
FinalOrder fo = new FinalOrder();
fo.UpdateOrder();
}
private void btnDiscardOrder_Click(object sender, EventArgs e)
{
FinalOrder fo = new FinalOrder();
fo.DiscardOrder();
}
第三の道:
FinalOrder fo;
public Order()
{
InitializeComponent();
fo = new FinalOrder();
}
private void Order_Load(object sender, EventArgs e)
{
dgvOrder.DataSource = fo.FetchOrders();
}
private void btnNewOrder_Click(object sender, EventArgs e)
{
fo.NewOrder();
}
private void btnUpdateOrder_Click(object sender, EventArgs e)
{
fo.UpdateOrder();
}
private void btnDiscardOrder_Click(object sender, EventArgs e)
{
fo.DiscardOrder();
}
、心と理由でメモリ割り当てを維持したまま使用してもいいである私に教えてください?
アンマネージリソース – Magnus