こんにちわ現在、C#を用いて、DBにアクセスする処理を作成しています。そのDBとの接続が切れた場合にはリトライをするのですが、DBにアクセスするクラスは複数あり、メソッドも複数あります。下記のような感じです。arg1);メソッドはすべて、DBにアクセスする処理を持ちますそこで、接続が切れた場合のリトライ処理を、AAAクラスとBBBクラスの継承元クラスに持ちたいのですが、各メソッドの引数の個数や、型が異なるため、デリゲート?を使ってもできそうにありません。普通はどのような方法でリトライを行っていますか?なにか良い方法がありましたら、よろしくお願いします。そこで、接続が切れた場合のリトライ処理を、AAAクラスとBBBクラスの継承元クラスに持ちたいのですが、#メソッドのリトライと実装内でのリトライで違ってくるのでは。基本クラスは継承先クラスを知りません。この参照の一方通行の前提からすると、リトライする実装が基本クラスに無い限り無理です。#そうできる処理なら最初から基本クラスに実装する設計になっていると思われます。・リトライ回数を引数に持ちそれぞれの実装内でリトライ・呼び出し元が返値の判断で呼び出しをリトライが自然ではないでしょうか。いずれにしろリトライを隠蔽すると呼び出し元へのレスポンスが悪くなる可能性もあります。アドバイスありがとうございますやはりそれぞれのメソッド内部で個別にリトライ処理を実装しないと無理ですか。理想としては、各メソッド(aaaメソッド等)内部に持っている、実際にDBアクセスを行うメソッド自体を、基本クラスのリトライを行う関数に引数として渡すようなことができればいいと思ったのですが。理想としては、各メソッド(aaaメソッド等)内部に持っている、実際にDBアクセスを行うメソッド自体を、基本クラスのリトライを行う関数に引数として渡すようなことができればいいと思ったのですが。SQL文を渡して実行するだけとか。汎用的な機能に絞らないとつらいでしょうね。トランザクションとかもあるし。考え方自体に無理があったようですね。ありがとうございました。