GoGPT Best VPN GoSearch

Favicon OnWorks

genxs - Online în cloud

Rulați genxs în furnizorul de găzduire gratuit OnWorks prin Ubuntu Online, Fedora Online, emulator online Windows sau emulator online MAC OS

Aceasta este comanda genxs care poate fi rulată în furnizorul de găzduire gratuit OnWorks folosind una dintre multiplele noastre stații de lucru online gratuite, cum ar fi Ubuntu Online, Fedora Online, emulator online Windows sau emulator online MAC OS

PROGRAM:

NUME


genxs - Generatorul de serializator Xml al lui Mono

REZUMAT


genxs configurationFile [destinationFolder]

DESCRIERE


genxs este un instrument pentru generarea de scriitori și cititori de serializare XML personalizat pentru clase.

Fișier de configurare este fișierul de configurare care specifică mai multe informații, cum ar fi
clasa pentru care să genereze cititorul și scriitorul, numele și spațiul de nume ale claselor
pentru a genera și o colecție de cârlige de aplicat. Prin utilizarea cârligelor este posibil să
personalizați comportamentul serializatorului fără a fi nevoie să modificați fișierul generat, deci
îl puteți regenera în siguranță dacă clasa sursă este modificată.

dosar de destinație specifică folderul în care vor fi generate fișierele.

NOTĂ: Acest instrument rulează numai în timpul de execuție Mono, deoarece folosește unele clase interne, nu
disponibil în alte perioade de execuție.

CONFIGURARE FILE FORMAT


Fișierul de configurare este un document xml bazat pe următoarea gramatică ("?" înseamnă
opțional, „*” 0 sau mai mult):


*
Nume ?
Nume ?
Nume ?
Nume ?
?
*

?
*




Un fișier de configurare poate avea mai multe elemente „serializatoare”, fiecare dintre ele specificând
clasă pentru care să genereze un serializator împreună cu mai multe opțiuni de generare. The
clasa sursă este specificată în următoarele atribute:

* clasă : numele clasei (inclusiv namespace).

* asamblare : denumirea ansamblului. Poate include calea completă.

Opțiunile de generare sunt specificate în elementele copil:

* cititor : numele clasei de cititor.

* noReader : dacă „adevărat”, nu generează clasa de cititor.

* scriitor : numele clasei de scriitori.

* bazăSerializator : numele clasei de serializare xml de bază. Acest articol este doar 2.0.

* implementarea : numele clasei de implementare a serializatorului. Acest articol este doar 2.0.

* noWriter : dacă „adevărat”, nu generează clasa de scriitor.

* Spațiu de nume : spațiul de nume al claselor de cititor și scriitor.

* generateAsInternal : dacă „adevărat”, generează clase ca interne.

* outFileName : numele fișierului generat.

* readerHooks : o listă de cârlige de aplicat cititorului.

* writerHooks : o listă de cârlige de aplicat scriitorului.

SPECIFICAREA Cârlige


Folosind cârlige, puteți personaliza comportamentul cititorilor și scriitorilor. O specificație de cârlig
urmează această gramatică:


?
Nume ?
Nume *
Nume ?

cod sursa ?
cod sursa ?
cod sursa ?


Atributul „type” specifică contextul în care este aplicat cârligul. Poate fi unul dintre
următoarele:

* atribute : cârligul se aplică acolo unde atributele sunt serializate/deserializate.

* element : cârligul se aplică acolo unde elementele sunt serializate/deserializate.

* atribut necunoscut : cârligul este aplicat acolo unde sunt procesate atribute necunoscute.

* Element necunoscut : cârligul se aplică acolo unde sunt procesate elemente necunoscute.

* membru : cârligul se aplică acolo unde un membru este serializat/deserializat.

* tip : cârligul se aplică pentru întregul tip.

Elementul „select” specifică clasele și membrii la care trebuie adăugat cârligul.
Poate conține următoarele elemente:

* tipNume : va fi selectată clasa cu acel nume (trebuie să includă spațiu de nume)

* tipAtribut : vor fi selectate toate clasele care au acel atribut aplicat
(specificați numele complet al clasei de atribute, inclusiv spațiul de nume). Mai multe nume de atribute
poate fi specificat.

* tipMember : numele membrului clasei pentru care trebuie adăugat cârligul.

Codul sursă a cârligului poate fi specificat utilizând oricare dintre următoarele elemente:

* înlocui : codul sursă furnizat va înlocui toate serializările/deserializările
operațiuni în contextul cârligului.

* inserați Înainte : codul sursă va fi adăugat înainte de contextul hook.

* introduceDupă : codul sursă va fi adăugat după contextul hook.

Când scrieți codul pentru un cârlig puteți utiliza unele variabile speciale care sunt definite
în timpul procesului de generare a codului. Variabilele sunt următoarele:

* $TYPE: numele clasei care se generează, fără spațiu de nume.

* $FULLTYPE: numele complet al clasei care este generată, inclusiv spațiul de nume.

* $OBJECT: obiectul fiind serializat sau deserializat. Când utilizați un cititor de înlocuire
cârlig de tip „tip”, codul de cârlig trebuie să îi atribuie obiectului deserializat
variabilă.

* -I $ELEMENT: numele elementului obiectului care este serializat/deserializat.

* $NAMESPACE: spaţiul de nume al elementului obiectului care se serializează/dezerializat.

* $MEMBER: numele membrului care este serializat/deserializat. Valabil doar în „membru”
context.

HOOK EXEMPLE


Următorul exemplu adaugă un apel la o metodă Validate după deserializarea oricărei
obiect:



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



Acest exemplu specifică codul care trebuie utilizat pentru a deserializa clasa XmlSchema:



System.Xml.Schema.XmlSchema


$OBJECT = System.Xml.Schema.XmlSchema.Read (Cititor, nul);



Acesta specifică codul care trebuie utilizat pentru a citi instanțe XmlSchema:



System.Xml.Schema.XmlSchema

$OBJECT.Write (Scriitor);


Cu aceste două cârlige, serializatorul va imprima câteva informații atunci când serializează clasa
"Clasa mea":



MyNamspace.MyClass

Console.WriteLine („Serializarea MyClass”);
Console.WriteLine ("MyClass serializat");



MyNamspace.MyClass


Console.WriteLine ("Membru serializat $MEMBER");



Acest cârlig scrie un element suplimentar pentru toate tipurile care au atributul personalizat
„MyAttribute”:



MyNamspace.MyAttribute


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



CONFIGURARE FILE EXEMPLU


Acesta este fișierul de configurare utilizat pentru a genera serializatorul pentru ServiceDescription:



ServiceDescriptionReaderBase
ServiceDescriptionWriterBase
Sistem.Servicii.Web.Descriere
ServiceDescriptionSerializerBase.cs



System.Web.Services.Configuration.XmlFormatExtensionPointAttribute

ServiceDescription.ReadExtension (Cititor, $OBJECT);



System.Xml.Schema.XmlSchema

$OBJECT = System.Xml.Schema.XmlSchema.Read (Cititor, nul);





System.Web.Services.Configuration.XmlFormatExtensionPointAttribute

ServiceDescription.WriteExtensions (Writer, $OBJECT);



System.Xml.Schema.XmlSchema

$OBJECT.Write (Scriitor);





AUTORI


Lluis Sanchez Gual ([e-mail protejat])

Utilizați genxs online folosind serviciile onworks.net


Servere și stații de lucru gratuite

Descărcați aplicații Windows și Linux

Comenzi Linux

Ad




×
publicitate
❤️Cumpără, rezervă sau cumpără aici — gratuit, contribuind la menținerea serviciilor gratuite.