4

基本クラスがあり、基本クラス内の派生クラスのすべての例外をキャッチしたいのですが、これは可能ですか?

派生クラスからのメソッドが何であるかはわかりません。

4

2 に答える 2

2

特定のシナリオに関する詳細を提供する必要があります。ただし、たとえば、コントラクトを提供する基本抽象クラスがあり、基本クラスのコントラクトを呼び出すときに派生クラスによってスローされる可能性のあるすべての例外をキャッチしたい場合は、次のようにすることができます。

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 { /* ... */ }
    }
}
于 2010-04-09T10:06:23.763 に答える
1

クラスを呼び出すとは、派生クラス、またはベースから派生したクラスからメソッドを呼び出す無関係なクラスを意味しますか?

ベースをプロキシクラスに変えることができると思います。動的プロキシの例を参照してください。

于 2010-04-09T10:06:24.207 に答える