1

ユーザーが複数の「リーダー」をリポジトリに構成できるようにするライブラリ (Nuget パッケージとして配布) を作成しています。各リーダーを通過し、最初に使用可能なリーダーを介してリポジトリにアクセスします。

リーダーには空き状況があり、利用できないことも例外ではありません。ただし、呼び出し元のアプリケーションに通知する必要がある他の例外シナリオがいくつかあります。通知後、プログラムは次のリーダーの使用を試みることができるはずです。

これらは私が検討したオプションです

  • 例外をスローします。ここでの問題は、制御フローが返されることです
  • ステータスを蓄積して返す: リーダーには他に返すものがあるため、ステータスをバンドルしたくない
  • このように例外をスローします: 恐ろしく見えます:)孤立したスレッドやメモリリークを作成する可能性があるようです
  • イベンティング: イベント経由で行う方法がわからない
4

2 に答える 2