をインスタンス化するために選択するために、列挙型を使用します。私はDTOのに関連付けしようとしている列挙型を持つクラス
public enum DtoSelection
{
dto1,
dto2,
dto3,
}
この列挙では108と値があります。
私はこれらのDTO年代ごとに、DTOオブジェクトを持っている:
public class dto1 : AbstractDto
{
public int Id { get; set; }
//some stuff specific to this dto
}
私は私のDTOに関連したタイプの新しいDTOオブジェクトを返します方法(最終的にサービスを)作るしようとしています
private AbstractDto(int id)
{
if (id == DtoSelection.Dto1.ToInt()) //extension method I wrote for enums
return new Dto1();
if (id == DtoSelection.Dto2.ToInt())
return new Dto2();
}
明らかに私はこれを108回したくありません。何らかの理由で私の脳は明らかな何かを欠いているだけです。これを処理する最良の方法は何ですか?
これが可能であれば私は不思議です – Jonesopolis
まず、 'switch'を使って' if'リストを改善することができます。あなたはリフレクションを使いたいですか? –
列挙型に108の異なるdtoオブジェクトを持つ理由は何ですか?なぜ配列を使用しないのですか? – chancea