私のプログラムでは、多くのソースを使用してデータを取得しています。実際の実装はそれほど重要ではありませんが、それらはすべて、特定の入力を指定してデータを取得するための呼び出しを持つ「ソース」インターフェイスを実装しています。
データが必要なときは、すべてのソースを一度に 1 つずつ呼び出して、データを処理したいと考えています。
現在、私はこれを行います:
List<Source> sources = new List<Source>()
sources.Add(new SourceA());
sources.Add(new SourceB());
//...
//----
foreach (Source source in sources)
{
string data = source.getData(input);
//do something with the data
}
問題は、リストへのソースの挿入をハードコーディングする必要があることです。プロセスを自動化する方法 (おそらくリフレクションを使用) はありますか? 「ソース」インターフェースを実装するすべてのオブジェクトをリストに含めたいと思います-自分でハードコードする必要はありません。