0

ベースクラス「AsyncHandlerBase」があります

 public class CameraAlertsQuery : AsyncHandlerBase

基本クラスは複数のページに継承されます。特定のクラスがそれを継承しているときに特定のコードを実行する方法は基本クラスにありますか?その特定のコードをページ自体で実行しますが、この場合は実行できません。

4

2 に答える 2

2

それは実行可能ですが、私はそれに対して強くお勧めします。この種の知識を基本クラスに組み込むと、維持が困難になります。

代わりにできることは、基本クラスに抽象(または空の仮想)メソッドを作成し、子でオーバーライドすることです。

于 2009-11-25T17:01:05.557 に答える
0

私はこれを書くのをためらっています。なぜなら、これは間違いなく「コードの臭い」をもたらし、いつかあなたを悩ませることになるからです。ただし、本当に必要な場合は、基本クラスのメソッド内から呼び出し元のオブジェクトの型を確認できます。

if (this.GetType().Equals(typeof(DerivedClass)))
{
   ....
}
于 2009-11-25T17:03:11.170 に答える