Ho un enum che sto cercando di associare ad DTO:Utilizzare un enum per scegliere quale classe istanziare
public enum DtoSelection
{
dto1,
dto2,
dto3,
}
ci sono 108 ed i valori in questo enum.
Ho un oggetto dto per ciascuno di questi DTO:
public class dto1 : AbstractDto
{
public int Id { get; set; }
//some stuff specific to this dto
}
Sto cercando di fare un metodo (eventualmente un servizio) che mi restituirà un nuovo oggetto dto del tipo associato al l'dto domanda:
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();
}
Ovviamente non voglio farlo 108 volte. Per qualsiasi ragione il mio cervello manca semplicemente qualcosa di ovvio. Qual è il modo migliore per gestire questo.
Sono curioso di sapere se questo è possibile – Jonesopolis
Per prima cosa puoi migliorare la tua lista 'if' usando' switch'. E vuoi usare la riflessione? –
Qual è il ragionamento alla base di 108 diversi oggetti dto in un enum? perché non usare un array? – chancea