Ich habe die folgende Funktion:Anruf System.IDisposable.Dispose auf Objekt ‚emailForm‘ vor allen Verweise darauf sind außerhalb des Gültigkeitsbereichs
private void emailVideoButton_Click(object sender, EventArgs e)
{
VideoEMailForm emailForm = new VideoEMailForm();
emailForm.ShowDialog();
}
die mir die folgende Warnung gibt:
Warning 1 CA2000: Microsoft.Reliability: In Methode 'VideoPlayerControl.emailVideoButton_Click (Objekt, EventArgs)', rufen Sie System.IDisposable.Dispose auf Objekt 'E-MailForm', bevor alle Referenzen zu ihr außerhalb des Geltungsbereichs sind.
Ich las diesen Link http://msdn.microsoft.com/en-us/library/ms182289(v=vs.80).aspx und gesammelt, dass ich .Dispose wie so nennen benötigt:
private void emailVideoButton_Click(object sender, EventArgs e)
{
VideoEMailForm emailForm = new VideoEMailForm();
emailForm.ShowDialog();
emailForm.Dispose();
}
Aber dann bekomme ich die folgende Warnung:
Warnung 1 CA2000: Microsoft. Zuverlässigkeit: In Methode 'VideoPlayerControl.emailVideoButton_Click (Objekt, EventArgs)', Objekt 'E-MailForm' ist nicht entlang aller Ausnahme Pfade angeordnet. Rufen Sie System.IDisposable.Dispose für das Objekt 'E-MailForm' auf, bevor alle Referenzen darauf liegen.
Kann jemand mir helfen, diese Warnung loszuwerden?
So habe ich nicht manuell .Dispose rufe dann, wenn ich diese Methode verwenden ???? –
Das ist richtig. Der Compiler fügt den 'Dispose'-Aufruf für Sie hinzu. – Rotem
funktioniert der zweite Code in Ihrem Beispiel wirklich? Wenn ich dies tue, bekomme ich einen Namen, der im aktuellen Kontextfehler nicht existiert. – Bastardo