Je voudrais savoir si les autres solutions open source similaires dans le monde .NET, en particulier pour le cadre 2.0Toute autre solution de mappage objet-objet autre qu'AutoMapper dans .NET?
Répondre
Yo peut utiliser CSLA.NET. Il fournit une fonction de carte.
Je viens de tombé sur ObjectCastor où le but est:
Fondamentalement, il génère un nouveau proxy classe en utilisant les machines System.CodeDom , qui enveloppe le sourceType et implémente l'interface InterfaceType . Avec l'aide de .NET Réflexion, il va sur les membres du type interfaceType et génère les membres correspondants dans la classe proxy. Après cela, il compile la classe générée en utilisant la classe CodeDomProvider et en appelant la méthode CompileAssemblyFromDom. A ce point, la classe générée est compilée, et la dernière chose à faire est pour créer une nouvelle instance de la classe proxy et fournir l'objet source comme un constructeur. Le code source complet pour la classe d'utilité et l'application de démonstration sont disponibles ci-dessus dans la section des téléchargements .
Cette technique est maintenant utilisée dans CS Script. A partir du fichier d'aide CSScript:
Dans la version 2.3.3 CSScript introduit nouveau modèle d'hébergement de script d'interface alignement, qui est une alternative intéressante à l'héritage l'interface lors du chargement/accès scripts via des interfaces.
Ce modèle permet de manipuler avec le le script en "alignant" celui-ci sur l'interface appropriée (DuckTyping). aspect important de cette approche est que l'exécution du script est complètement typesafe (comme avec tout scénario accessible via une interface) mais ont encore plus important le script ne pas implémenter l'interface utilisée par l'application hôte . Dans un sens Interface L'alignement est un typecasting forcé: catalogué à l'interface est possible comme tant que l'objet a toutes les méthodes définies dans l'interface. Cette technique prometteuse permet de haut niveau de découplage entre l'hôte et la logique métier de script sans compromettre la sécurité de type .
celui-ci semble vraiment prometteur, beaucoup mieux que Automapper en particulier en termes de gestion de configuration (je préfère de loin les attributs de métadonnées sur les classes dans Otis que d'écrire une douzaine d'instructions CreateMap dans Automapper). – mare