2017-09-21 1 views
1

In einem mein Benutzersteuerelement, die ich vor Jahren programmiert, finde ich die LinieIst MyBase.Finalize notwendig?

Protected Overrides Sub Finalize() 
    MyBase.Finalize() 
End Sub 

Unfortunatly vergaß ich einen Kommentar zu schreiben, so dass ich weiß nicht, ob ich tatsächlich diese Zeile aus irgendeinem Grunde schrieb, oder wenn Es wurde automatisch erstellt (ich erinnere mich, dass in früheren Versionen von Visual Studio einige Codezeilen wie "IsInitializing" automatisch in den Benutzercode eingefügt wurden).

Ich möchte daher fragen, ob diese Linie überhaupt notwendig ist.

+0

Dies ist der Standardcode, der generiert wird, wenn Sie ihn nicht manuell überschreiben. – Aybe

+0

Und brauche ich es immer noch in meinem Code, oder kann ich es löschen, weil VB.NET das automatisch macht? – tmighty

+0

Ich glaube, dass Sie es ohne Schaden löschen können, da es bereits automatisch behandelt wird. – AustinS90

Antwort

1

Ich würde entweder die gesamte Finalize-Funktion löschen oder die gesamte Funktion dort lassen. Der zusätzliche Code wird kein Problem verursachen. Ich würde nicht nur die MyBase.Finalize() Zeile löschen. Wenn Sie die Methode nicht überschreiben, wird die gesamte Bereinigung natürlich durchgeführt.

Wenn Sie jedoch die Methode überschreiben und nicht die zugrundeliegende Finalisierung nennen, gibt es die (geringfügige) Möglichkeit, dass einige Ressourcen nicht bereinigt werden.