c#/Asp.Net 4.0 で Web サイト機能を作成しています。
データベースにクエリを実行し、ローン提供者 (「貸し手」) のリストを返す関数があります。
リストを作成したら、リストを繰り返し処理し、それぞれに対して HttpPost を実行します。各貸し手には非常に具体的で独自のデータ要件があるため、インターフェースを継承する各貸し手用のクラスがあります。
MrLenderRequest : IPingtreeRequest
リストをループするときは、データをクラスにマップする必要があります。現在、私はこの非常に非一般的な方法で、ループ内からこのコードを呼び出しています。
IPingtreeRequest GetLenderRequest(string lender)
{
IPingtreeRequest lenderRequest = null;
switch (lender)
{
case "MrLender":
lenderRequest = new MrLenderRequest(_data);
break;
default:
lender.ThrowCaseNotHandled();
break;
}
return lenderRequest;
}
これは、4 つまたは 5 つある場合は問題ありませんが、50 つ以上ある場合は問題ありません。クラスをマッピングするためのよりエレガントで一般的な方法があるかどうか疑問に思いました。