Azon tűnődöm, hogyan lehet "lustán" példányosítani az objektumot egy eseménykezelőből
Ha van egy WinForms alkalmazásom és például két gombom:
public partial class Form1 : Form
{
//MyClass obj = new MyClass();
MyClass obj;
public Form1()
{
InitializeComponent();
}
private void button1_Click(object sender, EventArgs e)
{
obj = new MyClass();
obj.StartWork();
}
private void button2_Click(object sender, EventArgs e)
{
obj.StopWork();
}
}
Mivel nem kell hozzáférnünk a MyClass tagjaihoz, mielőtt a felhasználó a button1-re kattintana, ésszerű lenne csak az osztályt példányosítani az eseménykezelőben. A második gombra kattintva azonban null referencia kivételt dob, mivel az obj változó ebben a hatókörben nem hivatkozik semmire.
MyClass
az építés során inicializálva lesz. Az eseménykezelő testeinek nem sikerül a fordítása. 06.01.2014Lazy<MyClass>
-re a mintámban – már javítva). 06.01.2014Lazy<MyClass>
-re. Különben nem értem, miért nem működik. 06.01.2014