eine "hübschere" Implementierung eines Resourcenschutzblockes ist das da:
Code:
using(aForm = new AddingUnit())
{
if (aForm.ShowDialog(this) == DialogResult.OK)
{
// noch nix da
}
}
In einem absoluen Notfall kannst du danach...
Code:
GC.Collect();
GC.WaitForPendingFinalizers();
... aufrufen. (Ist aber nicht "hübsch")
Oder ein abgeschwächtes Singleton (bei einem "richtigen" singleton springt dir der Designer auf's Dach
)
Code:
class AddingUnit :Form
{
private static AddingUnit fInstance;
public static AddingUnit CreateInstance()
{
if (fInstance == null)
fInstance = new AddingUnit();
return fInstance;
}
...
}
Nachtrag:
Das 2. verhindert aber nur Instanzen n > 1.
Code:
aForm = AddingUnit.CreateInstance();
if (aForm.ShowDialog(this) == DialogResult.OK)
{
// noch nix da
}