AnglaisFrançaisEspagnol

Ad


Icône de favori OnWorks

genxs - En ligne dans le Cloud

Exécutez genxs dans le fournisseur d'hébergement gratuit OnWorks sur Ubuntu Online, Fedora Online, l'émulateur en ligne Windows ou l'émulateur en ligne MAC OS

Il s'agit de la commande genxs qui peut être exécutée dans le fournisseur d'hébergement gratuit OnWorks en utilisant l'un de nos multiples postes de travail en ligne gratuits tels que Ubuntu Online, Fedora Online, l'émulateur en ligne Windows ou l'émulateur en ligne MAC OS

PROGRAMME:

Nom


genxs - Générateur de sérialiseur Xml de Mono

SYNOPSIS


genx fichier de configuration [destinationFolder]

DESCRIPTION


genx est un outil permettant de générer des rédacteurs et des lecteurs de sérialisation XML personnalisés pour les classes.

fichier de configuration est un fichier de configuration qui spécifie plusieurs informations, telles que le
classe pour laquelle générer le lecteur et le rédacteur, le nom et l'espace de noms des classes
à générer et une collection de crochets à appliquer. En utilisant des crochets, il est possible de
personnaliser le comportement du sérialiseur sans avoir besoin de modifier le fichier généré, donc
vous pouvez le régénérer en toute sécurité si la classe source est modifiée.

dossier de destination spécifie le dossier dans lequel les fichiers seront générés.

REMARQUE: Cet outil ne s'exécute que dans le runtime Mono, car il utilise certaines classes internes non
disponible dans d'autres environnements d'exécution.

CONFIGURATION DOSSIER Format


Le fichier de configuration est un document XML basé sur la grammaire suivante ("?" signifie
facultatif, "*" 0 ou plus) :


*
Nom ?
Nom ?
Nom ?
Nom ?
?
*

?
*




Un fichier de configuration peut avoir plusieurs éléments « sérialiseur », dont chacun spécifie le
classe pour laquelle générer un sérialiseur avec plusieurs options de génération. Les
la classe source est spécifiée dans les attributs suivants :

* classe : nom de la classe (y compris l'espace de noms).

* Assemblée : nom de l'assemblage. Il peut inclure le chemin complet.

Les options de génération sont spécifiées dans les éléments enfants :

* lecteur : nom de la classe lecteur.

* pas de lecteur : si "true", il ne génère pas de classe de lecteur.

* écrivain : nom de la classe d'écriture.

* baseSérialiseur : nom de la classe de sérialisation xml de base. Cet article est 2.0 seulement.

* la mise en oeuvre : nom de la classe d'implémentation du sérialiseur. Cet article est 2.0 seulement.

* pas d'écrivain : si "true", il ne génère pas de classe d'écriture.

* namespace : espace de noms des classes de lecture et d'écriture.

* générerCommeInterne : si "true", il génère des classes en interne.

* nomFichierout : nom du fichier généré.

* lecteurHooks : une liste de crochets à appliquer au lecteur.

* écrivainCrochets : une liste de crochets à appliquer au rédacteur.

EN PRÉCISANT HOOKS


À l'aide de crochets, vous pouvez personnaliser le comportement des lecteurs et des rédacteurs. Une spécification de crochet
suit cette grammaire :


?
Nom ?
Nom *
Nom ?

code source ?
code source ?
code source ?


L'attribut "type" spécifie le contexte dans lequel le hook est appliqué. Il peut s'agir de l'un des
ce qui suit:

* attributs : le hook est appliqué là où les attributs sont sérialisés/désérialisés.

* éléments : le hook est appliqué là où les éléments sont sérialisés/désérialisés.

* Attribut inconnu : le hook est appliqué là où des attributs inconnus sont traités.

* Élément inconnu : le hook est appliqué là où des éléments inconnus sont traités.

* membre : le hook est appliqué lorsqu'un membre est sérialisé/désérialisé.

* type : le crochet est appliqué pour l'ensemble du type.

L'élément "select" spécifie les classes et les membres auxquels le hook doit être ajouté.
Il peut contenir les éléments suivants :

* typeNom : la classe portant ce nom sera sélectionnée (doit inclure un espace de noms)

* typeAttribut : toutes les classes auxquelles cet attribut est appliqué seront sélectionnées
(spécifiez le nom complet de la classe d'attributs, y compris l'espace de noms). Plusieurs noms d'attributs
peut être spécifié.

* typeMembre : nom du membre de la classe pour lequel le crochet doit être ajouté.

Le code source du hook peut être spécifié à l'aide de l'un des éléments suivants :

* remplacer : le code source fourni remplacera toute sérialisation/désérialisation
opérations dans le contexte du hook.

* insérerAvant : le code source sera ajouté avant le contexte du hook.

* insérerAprès : le code source sera ajouté après le contexte du hook.

Lors de l'écriture du code d'un hook, vous pouvez utiliser des variables spéciales définies
pendant le processus de génération de code. Les variables sont les suivantes :

* $TYPE : nom de la classe générée, sans espace de nom.

* $FULLTYPE : nom complet de la classe générée, y compris l'espace de noms.

* $OBJET : l'objet étant sérialisé ou désérialisé. Lors de l'utilisation d'un lecteur de remplacement
hook de type "type", le code hook doit affecter l'objet désérialisé à ce
variable.

* -I $ELEMENT : nom de l'élément de l'objet en cours de sérialisation/désérialisation.

* $NAMESPACE : espace de noms de l'élément de l'objet en cours de sérialisation/désérialisation.

* $MEMBRE : nom du membre en cours de sérialisation/désérialisation. Uniquement valable dans le "membre"
contexte

CROCHET EXEMPLES


L'exemple suivant ajoute un appel à une méthode Validate après la désérialisation de tout
objet:



System.Xml.Schema.XmlSchema.Validate$TYPE ($OBJECT);



Cet exemple spécifie le code à utiliser pour désérialiser la classe XmlSchema :



System.Xml.Schema.XmlSchema


$OBJECT = System.Xml.Schema.XmlSchema.Read (lecteur, null);



Celui-ci précise le code à utiliser pour lire les instances XmlSchema :



System.Xml.Schema.XmlSchema

$OBJECT.Write (Ecrivain);


Avec ces deux crochets, le sérialiseur imprimera des informations lors de la sérialisation de la classe
"Ma classe":



MyNamespace.MyClass

Console.WriteLine ("Sérialisation MyClass");
Console.WriteLine ("MyClass sérialisé");



MyNamespace.MyClass


Console.WriteLine ("Membre sérialisé $MEMBER");



Ce crochet écrit un élément supplémentaire pour tous les types qui ont l'attribut personnalisé
"Mon Attribut" :



MyNamespace.MyAttribute


Writer.WriteStartElement ("privateData");
Writer.WriteString ($OBJECT.PrivateData);
Writer.WriteEndElement ();



CONFIGURATION DOSSIER EXEMPLE


Il s'agit du fichier de configuration utilisé pour générer le sérialiseur pour ServiceDescription :



ServiceDescriptionReaderBase
ServiceDescriptionWriterBase
System.Web.Services.Description
Description du serviceSerializerBase.cs



System.Web.Services.Configuration.XmlFormatExtensionPointAttribute

ServiceDescription.ReadExtension (Lecteur, $OBJECT);



System.Xml.Schema.XmlSchema

$OBJECT = System.Xml.Schema.XmlSchema.Read (Reader, null);





System.Web.Services.Configuration.XmlFormatExtensionPointAttribute

ServiceDescription.WriteExtensions (Writer, $OBJECT);



System.Xml.Schema.XmlSchema

$OBJECT.Write (Ecrivain);





AUTEURS


Lluis Sánchez Gual ([email protected])

Utilisez genxs en ligne à l'aide des services onworks.net


Serveurs et postes de travail gratuits

Télécharger des applications Windows et Linux

  • 1
    AstroOrzPlayer
    AstroOrzPlayer
    AstrOrz Player est un lecteur multimédia gratuit
    logiciel, partie basée sur WMP et VLC. La
    joueur est dans un style minimaliste, avec
    plus de dix couleurs de thème, et peut également
    b ...
    Télécharger AstrOrzPlayer
  • 2
    movistarv
    movistarv
    Kodi Movistar+ TV est un ADDON pour XBMC/
    Kodi qui permet de disposer d'un
    décodeur de los services IPTV de
    Movistar intégré en un seul de los
    médiacentres ma...
    Télécharger movistartv
  • 3
    Code :: Blocs
    Code :: Blocs
    Code :: Blocks est un logiciel gratuit et open source,
    multiplateforme C, C++ et Fortran IDE
    construit pour répondre aux besoins les plus exigeants
    de ses utilisateurs. Il est conçu pour être très
    s'étend...
    Code de téléchargement ::Blocs
  • 4
    Au milieu de
    Au milieu de
    Au milieu ou Interface Minecraft avancée
    et Data/Structure Tracking est un outil pour
    afficher un aperçu d'un Minecraft
    monde, sans vraiment le créer. Ce
    pouvez ...
    Télécharger au milieu
  • 5
    MSYS2
    MSYS2
    MSYS2 est une collection d'outils et
    bibliothèques vous offrant un
    environnement facile à utiliser pour la construction,
    installer et exécuter Windows natif
    Logiciel. Il con...
    Télécharger MSYS2
  • 6
    libjpeg-turbo
    libjpeg-turbo
    libjpeg-turbo est un codec d'image JPEG
    qui utilise des instructions SIMD (MMX, SSE2,
    NEON, AltiVec) pour accélérer la ligne de base
    Compression et décompression JPEG activées
    x86, x8...
    Télécharger libjpeg-turbo
  • Plus "

Commandes Linux

  • 1
    abi-tracker
    abi-tracker
    abi-tracker - visualiser les changements d'ABI
    chronologie d'une bibliothèque logicielle C/C++.
    DESCRIPTION : NOM : ABI Tracker
    (abi-tracker) Visualisez les changements d'ABI
    Chronologie d'un C/C+...
    Exécutez abi-tracker
  • 2
    abicheck
    abicheck
    abicheck - vérifier les binaires de l'application
    pour les appels vers des symboles privés ou évolutifs
    dans les bibliothèques et pour la liaison statique de
    certaines bibliothèques système. ...
    Exécuter abicheck
  • 3
    courriermlm
    courriermlm
    couriermlm - La liste de diffusion Courrier
    directeur ...
    Exécuter Couriermlm
  • 4
    coursiertcpd
    coursiertcpd
    couriertcpd - le serveur de messagerie Courier
    Démon du serveur TCP...
    Exécutez couriertcpd
  • 5
    gbklatex
    gbklatex
    bg5latex - Utiliser LaTeX directement sur un Big5
    fichier encodétex bg5pdflatex - Utilisation
    pdfLaTeX directement sur un Big5 encodétex
    file bg5+latex - Utilisez LaTeX directement sur un
    Gros5+...
    Exécutez gbklatex
  • 6
    gbkpdflatex
    gbkpdflatex
    bg5latex - Utiliser LaTeX directement sur un Big5
    fichier encodétex bg5pdflatex - Utilisation
    pdfLaTeX directement sur un Big5 encodétex
    file bg5+latex - Utilisez LaTeX directement sur un
    Gros5+...
    Exécutez gbkpdflatex
  • Plus "

Ad