Est-il possible de faire ce qui suit en C # (ou dans tout autre langage)?
Je récupère des données dans une base de données. Au moment de l'exécution, je peux calculer le nombre de colonnes et les types de données des colonnes récupérées.
Ensuite, je veux «générer» une classe avec ces types de données comme champs. Je veux également stocker tous les enregistrements que j'ai récupérés dans une collection.
Le problème est que je veux faire les étapes 1 et 2 à l'exécution
Est-ce possible? J'utilise actuellement C # mais je peux passer à autre chose si besoin.
c#
dynamic-typing
Chani
la source
la source
dynamic
dans Massive: blog.wekeroad.com/helpy-stuff/and-i-shall-call-it-massiveRéponses:
Utilisez CodeDom. Voici quelque chose pour commencer
Il crée un assembly 'Test.Dynamic.dll' avec cette classe
Vous pouvez également utiliser les fonctionnalités dynamiques de C #
Classe DynamicEntity, pas besoin de créer quoi que ce soit à l'exécution
Et utilisez-le comme ça
la source
Oui, vous pouvez utiliser la réflexion émise pour ce faire. Manning a ce qui semble être un excellent livre à ce sujet: la métaprogrammation en .NET .
BTW: pourquoi ne pas simplement utiliser une liste contenant des dictionnaires ou similaires pour stocker chaque enregistrement avec les noms de champ comme clés?
la source