Laden...

Problem: Methode Überschreiben

Erstellt von cyberblast vor 17 Jahren Letzter Beitrag vor 17 Jahren 1.224 Views
C
cyberblast Themenstarter:in
12 Beiträge seit 2006
vor 17 Jahren
Problem: Methode Überschreiben

Hallo Leute

Ich habe ein Basis-Formular mit einer Methode ClearFields(). Die Methode soll überschrieben werden können wenn das Formular geerbt ist.

Das funktioniert soweit auch.

ClearFields() ist eine Funktion die sich selbst wieder aufruft (rekursiv).

Im vererbten Formular überschreibe ich ClearFields() rufe aber die Original-Methode mittels base.ClearFields() auf und erledige anschliessend noch weiteres.

Nun habe ich aber folgendes Problem:

In ClearFields() der Basisklasse wird bei der Rekursion die überschriebene Methode von der Basisklasse aufgerufen, selbst wenn ich this.ClearFields() verwende.

Weiss jemand wie ich aus der Basisklasse auch die Basismethode aufrufen kann?

Grüsse Martin

B
1.529 Beiträge seit 2006
vor 17 Jahren

Du lagerst den rekursiven Teil von ClearFields in der Elternklasse in eine private Methode aus, welche du dann von ClearFields aufrufst.

C
cyberblast Themenstarter:in
12 Beiträge seit 2006
vor 17 Jahren

Die Ursache war, dass ich das schlüsselwort "new" anstatt "override" hätte nehmen sollen.

Gruss

M
1.439 Beiträge seit 2005
vor 17 Jahren

Ich hoffe du weißt was du da tust.
Mach lieber die Methode der Basisklasse virtual und verwende dann ein override.