ich eine Basisklasse haben:automatisch aufrufen Basismethode vor dem abgeleiteten ein
abstract class ClassPlugin
{
public ClassPlugin(eGuiType _guyType)
{
GuiType = _guyType;
}
public eGuiType GuiType;
protected void Notify(bool b)
{
...
}
protected virtual void RaiseAction()
{
Notify(false);
}
}
und dann habe ich einige abgeleitete Klassen:
class ClassStartWF : ClassPlugin
{
public ClassStartWF(eGuiType _guyType) : base(_guyType) { }
public event delegate_NoPar OnStartWorkFlow_Ok;
public void Action()
{
Notify(true);
RaiseAction(eEventType.OK);
}
public new void RaiseAction(eEventType eventType)
{
base.RaiseAction();<--------------------
if (OnStartWorkFlow_Ok == null)
MessageBox.Show("Event OnStartWorkFlow_Ok null");
else
OnStartWorkFlow_Ok();
}
}
}
jetzt in der Erhöhung Aktion, die ich vor dem verlangen base.RaiseAction() Methode, aber das kann vergessen werden. Gibt es eine Möglichkeit, die Basismethode automatisch aufzurufen (und dort einige Aktionen auszuführen), bevor die abgeleitete Methode aufgerufen wird?
Warum verwenden Sie 'new' statt * überwiegenden * 'RaiseAction'? Das ist ein seltsamer Ansatz. –
Yep entschuldige es nicht. Bearbeiten – Luca
@ Jon Skeet: Bei näherer Betrachtung scheint der Fragesteller überhaupt nichts zu übersteuern. Die Basismethode hat keine Parameter und die abgeleitete Methode. Der Code scheint überhaupt nicht richtig zu sein. – BoltClock