2010-01-09 4 views

Répondre

7

Voir l'espace de noms System.CodeDom. Fondamentalement, vous utilisez CodeDom pour créer un modèle abstrait de la classe. Ensuite, vous instanciez CSharpCodeProvider ou VBCodeProvider et utilisez l'une des méthodes CodeDomProvider.GenerateCodeFrom ... pour l'émettre en tant que type de code source approprié. C'est la technologie sous-jacente utilisée par Windows Forms Designer, xsd.exe, etc.

Soyez averti, cependant, que CodeDom est assez verbeux et fastidieux à utiliser. Si vos classes sont modérément complexes, vous pouvez utiliser un moteur de template tel que T4 ou NVelocity.

8

Avez-vous vraiment besoin de classes .NET spécifiques, ou pouvez-vous vivre avec un ajout à Visual Studio?

Si vous avez Visual Studio, jetez un coup d'œil sur le template T4 - l'un des assets les moins connus et les plus précieux de VS!

Il y a au moins un outil de ligne de commande que vous pouvez appeler à partir. Le code NET pour faire la transformation, mais je suis assez sûr que vous pouvez également invoquer un moteur de transformation en tant que classe .NET et l'avoir générer C# ou VB.NET co de votre modèle T4 par programme.

Typiquement, l'utilisation de T4 est beaucoup plus simple que CodeDom - elle a ses limites, mais pour la plupart, c'est une excellente technologie pour faire les choses rapidement et facilement.

Questions connexes