Générateur de documentation (lib pour réflection et xmldoc)

0/5 (14 avis)

Vue 10 474 fois - Téléchargée 1 052 fois

Description

Ce code permet de générer une document html basé sur un template à partir d'une liste de type définit.

Il reste encore quelque souci avec l'affichage des génériques.

Indépendament, les fonctionnalités intéressantes sont :
Utilisation de la réflexion
Accès à la XmlDoc à partir d'un membre
Utilisation de template basée sur des tags (1 à n)

Concernant L'espace de nom : System.GACManagedAccess, il n'est pas de moi ( voir : Junfeng Zhang's http://blogs.msdn.com/junfeng/articles/229649.aspx )
J'y ai juste ajouté une classe pour me simplifier la vie, GACService

Source / Exemple :


// NE PAS OUBLIER DE DEFINIR CES TROIS CHEMIN DANS LA METHODE MAIN

// Chemin vers le template html et la feuille de style
const string PATH_TEMPLATE = "C:\ClassTemplate.htm";
const string PATH_STYLESHEET = @"C:\style.css";
            
// Chemin du répertoire de génération
const string PATH_TARGET_FOLDER = @"C:\Genere\";

Conclusion :


Je n'ai plus le temps de continuer pour l'instant, donc cette version est à améliorer.

Au pire une partie du code pourra vous servir pour autre chose (ce qui est déja bien) !

Codes Sources

A voir également

Ajouter un commentaire Commentaires
cs_Bidou Messages postés 5487 Date d'inscription dimanche 4 août 2002 Statut Membre Dernière intervention 20 juin 2013 60
8 nov. 2007 à 19:00
Y'a des path rentrés en dur la dedans, pas le pied pour tester :)
thiosyiasar Messages postés 186 Date d'inscription lundi 11 mars 2002 Statut Membre Dernière intervention 30 novembre 2010 3
8 nov. 2007 à 19:13
:D <----- Dsl Bidou...

Regarde le petit encadré nommé Source... ou alors il y en a d'autre ?
Bon sinon ,
Dans le namespace winapp, il y 2 fichiers (classTemplate.htm et style.css). Ceux sont les deux premiers chemins a définir.
Le troisième c'est le répertoire de génération, mettez n'importe quel chemin, le répertoire sera créé si il n'existe pas.

A+


Vala
surfzoid Messages postés 463 Date d'inscription vendredi 15 août 2003 Statut Membre Dernière intervention 21 avril 2010
8 nov. 2007 à 19:36
C'est vraix que c'est dommage, car du coup tu n'as pas penser a linux ou d'autre plateforme, en général, j'utilise environmen.newline et getpathseparator pour palier a cela, c'est une question d'habitude lol.
Bon juste pour le fun, avec mono comme tu voit il y a un pb de path separator :

Unhandled Exception: System.IO.FileNotFoundException: Could not find file "/home/eric/tmp/docgen/docgen.winapp/bin/Debug/D:\DEV\OUTILS\docgen\docgen.winapp\ClassTemplate.htm".
File name: '/home/eric/tmp/docgen/docgen.winapp/bin/Debug/D:\DEV\OUTILS\docgen\docgen.winapp\ClassTemplate.htm'
at System.IO.FileStream..ctor (System.String path, FileMode mode, FileAccess access, FileShare share, Int32 bufferSize, Boolean anonymous, FileOptions options) [0x00203] in /root/tmp/mono-latest/mono-20071106/mcs/class/corlib/System.IO/FileStream.cs:268
at System.IO.FileStream..ctor (System.String path, FileMode mode, FileAccess access, FileShare share) [0x00000] in /root/tmp/mono-latest/mono-20071106/mcs/class/corlib/System.IO/FileStream.cs:135
at (wrapper remoting-invoke-with-check) System.IO.FileStream:.ctor (string,System.IO.FileMode,System.IO.FileAccess,System.IO.FileShare)
at System.IO.File.OpenRead (System.String path) [0x00000] in /root/tmp/mono-latest/mono-20071106/mcs/class/corlib/System.IO/File.cs:384
at System.IO.StreamReader..ctor (System.String path, System.Text.Encoding encoding, Boolean detect_encoding_from_bytemarks, Int32 buffer_size) [0x00077] in /root/tmp/mono-latest/mono-20071106/mcs/class/corlib/System.IO/StreamReader.cs:167
at System.IO.StreamReader..ctor (System.String path) [0x00000] in /root/tmp/mono-latest/mono-20071106/mcs/class/corlib/System.IO/StreamReader.cs:143
at (wrapper remoting-invoke-with-check) System.IO.StreamReader:.ctor (string)
at fr.neopen.generators.templates.FileTemplate.LoadFile (System.String filePath) [0x00000] in /home/eric/tmp/docgen/fr.neopen.generators.templates/TemplateFile.cs:101
at docgen.winapp.Program.Main () [0x00048] in /home/eric/tmp/docgen/docgen.winapp/Program.cs:48
surfzoid Messages postés 463 Date d'inscription vendredi 15 août 2003 Statut Membre Dernière intervention 21 avril 2010
8 nov. 2007 à 19:40
En fait cela vas même plus loin car tu as ecraser ton environment avec le chemein absolu, la aussi en general j'utilise l'équivalent C# du code vb My.Application.Info.DirectoryPath
cs_Bidou Messages postés 5487 Date d'inscription dimanche 4 août 2002 Statut Membre Dernière intervention 20 juin 2013 60
8 nov. 2007 à 20:07
Ha mince :-)
Je testerai ce week-end donc si j'ai le temps. Et je tâcherai de passer la source un peu moins en diagonale la prochaine fois :D

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.