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.

È stato utile?

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 .

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top