Eccezione cattura dalla base della classe
-
25-09-2019 - |
Domanda
Ho una classe di base, e vorrei cogliere tutte le eccezioni della classe derivata all'interno della classe di base, è possibile?
Non si sa che cosa sono i metodi dalla classe derivata.
Soluzione
È necessario fornire ulteriori dettagli sul tuo scenario specifico. Tuttavia, se per esempio si dispone di una classe astratta di base che fornisce un contratto e si desidera catturare tutte le possibili eccezioni generate dalle classi derivate quando si chiama il contratto classe di base si può fare qualcosa di simile:
public abstract class Base
{
protected abstract void InternalFoo();
protected abstract void InternalBar();
public void Foo()
{
try { this.InternalFoo(); }
catch { /* ... */ }
}
public void Bar()
{
try { this.InternalBar(); }
catch { /* ... */ }
}
}
Altri suggerimenti
Con chiamando classe si intende una classe derivata, o di una classe non correlata chiamando i metodi di una classe derivata dalla base?
Credo che si può fare che trasformare la vostra base in una classe proxy. Vedere una esempio dinamica delega .