Je dois faire une exportation de DB vers CSV. (.NET 2)Gestion du type de champ dynamique
field; fileld; field... etc
ont 3 types de champs: Alpha, numérique et Bool respresented comme "alphaValue"
, intValue
et True/False
.
J'essaie de résumer cela dans un champs collection, afin d'exporter si alpha puis réglez « », si Bool => Vrai/Faux si let numérique tel quel.
et essayer de construire une classe CsvField
:
Public Structure?Class CsvField(Of T As ???)
End Structure
Enum FieldType
Alpha
Bool
Numeric
End Enum
utilisation possibile:
myCollection.Add(new CsvField(DateTime.Now, FileType.Alpha))
myCollection.Add(new CsvField(myInt, FileType.Numeric))
des suggestions accueillies avec satisfaction.
est le polymorphisme plus de ressources et de temps qu'une simple classe avec le type? – serhio
@serhio non, il n'y a pas de pénalité de ressources ou de performances lors de l'utilisation de l'héritage et du polymorphisme. –
@serhio: Non, ou au moins la surcharge * memory * supplémentaire serait si petite qu'elle serait insignifiante dans votre cas (très probablement).Runtime * performance * pourrait même s'améliorer très légèrement. Ne t'inquiète pas pour ça. L'utilisation de l'héritage se traduira par un code mieux structuré, plus facile à lire et donc plus facile à maintenir, ce qui est plus important que quelques octets utilisés en mémoire. Si vous êtes toujours intéressé par la raison, je peux fournir plus de détails à la demande. – stakx