我有一个我试图关联到 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 次。无论出于何种原因,我的大脑只是缺少一些明显的东西。处理此问题的最佳方法是什么。