Pergunta

Eu tenho uma classe base e gostaria de pegar todas as exceções da classe derivada da classe base, isso é possível?

Você não saberá quais são os métodos da classe derivada.

Foi útil?

Solução

Você precisa fornecer mais detalhes sobre seu cenário específico. No entanto, se, por exemplo, você tem uma classe abstrata base que fornece um contrato e deseja capturar todas as exceções possíveis lançadas por classes derivadas ao ligar para o contrato de classe base, você pode fazer algo assim:

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 { /* ... */ }
    }
}

Outras dicas

Por Chamando aula Você quer dizer uma classe derivada ou métodos de chamada de classe não relacionados de uma classe derivada de sua base?

Eu acho que você pode fazer isso transformando sua base em uma aula de proxy. Ver um proxy dinâmico exemplo.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top