クラス設計について質問です。現在、私は次の構造を持っています:
抽象ベース リポジトリ クラス
デフォルトのリポジトリ実装クラス (いくつかの抽象メソッドを実装します。ロジックはすべての特定のクラスに共通ですが、その他は空のままにします)
特定のリポジトリ実装クラス (上記の Default クラスで空のままになっているものを実装します)
特定のクラスに特定の Update() メソッドがあるという問題が発生しましたが、このメソッドのすべてのコードが実行されると、基本の Default クラスのコードも実行する必要があります。
私はこのようにすることができました
public override Update()
{
// do Specific class actions and updates
// ....
// follow with base.Update()
base.Update();
}
ただし、これには、継承されたすべてのメソッドでこれらの base.XYZ() 呼び出しが必要です。どういうわけかパーシャルでそれを回避できますか?
したがって、要件は、親クラスと継承クラスの両方にコードを含める (またはパーシャルを使用してこれら 2 つの 1 つのクラスにする) ことと、両方の場所でメソッド実装のコードを実行することです。また、元に戻して、最初に基本クラス コードを実行し、その後に継承されたクラス コードを実行したい場合はどうすればよいでしょうか?
ありがとう