IngleseFranceseSpagnolo

Ad


Favicon di OnWorks

genxs - Online nel cloud

Esegui genxs nel provider di hosting gratuito OnWorks su Ubuntu Online, Fedora Online, emulatore online Windows o emulatore online MAC OS

Questo è il comando genxs che può essere eseguito nel provider di hosting gratuito OnWorks utilizzando una delle nostre molteplici workstation online gratuite come Ubuntu Online, Fedora Online, emulatore online Windows o emulatore online MAC OS

PROGRAMMA:

NOME


genxs - Generatore serializzatore Xml di Mono

SINOSSI


Genxs file di configurazione [cartella di destinazione]

DESCRIZIONE


Genxs è uno strumento per generare writer e lettori di serializzazione XML personalizzati per le classi.

file di configurazione è un file di configurazione che specifica diverse informazioni, come il
classe per cui generare il lettore e scrittore, il nome e lo spazio dei nomi delle classi
generare e una raccolta di ganci da applicare. Utilizzando i ganci è possibile
personalizzare il comportamento del serializzatore senza dover modificare il file generato, quindi
puoi tranquillamente rigenerarlo se la classe sorgente viene modificata.

la cartella di destinazione specifica la cartella in cui verranno generati i file.

NOTA: Questo strumento viene eseguito solo nel runtime Mono, poiché non utilizza alcune classi interne
disponibile in altri runtime.

CONFIGURAZIONE RISORSE FORMATO


Il file di configurazione è un documento xml basato sulla seguente grammatica ("?" significa
facoltativo, "*" 0 o più):


*
nome ?
nome ?
nome ?
nome ?
?
*

?
*




Un file di configurazione può avere più elementi "serializzatore", ognuno dei quali specifica il
classe per cui generare un serializzatore insieme a diverse opzioni di generazione. Il
la classe di origine è specificata nei seguenti attributi:

* classe : nome della classe (incluso lo spazio dei nomi).

* montaggio : nome dell'assieme. Può includere il percorso completo.

Le opzioni di generazione sono specificate negli elementi figlio:

* lettore : nome della classe di lettura.

* nessun lettore : se "true", non genera la classe del lettore.

* scrittore : nome della classe scrittore.

* baseSerializer : nome della classe serializzatore XML di base. Questo articolo è solo 2.0.

* implementazione : nome della classe di implementazione del serializzatore. Questo articolo è solo 2.0.

* nessuno Scrittore : se "true", non genera la classe writer.

* namespace : spazio dei nomi delle classi reader e writer.

* generareAsInternal : se "true", genera classi come interne.

* outFileName : nome del file generato.

* lettoreGanci : un elenco di agganci da applicare al lettore.

* scrittoreHooks : un elenco di hook da applicare allo scrittore.

SPECIFICANDO GANCI


Usando gli hook puoi personalizzare il comportamento di lettori e scrittori. Una specifica del gancio
segue questa grammatica:


?
nome ?
nome *
nome ?

codice sorgente ?
codice sorgente ?
codice sorgente ?


L'attributo "type" specifica il contesto in cui viene applicato l'hook. Può essere uno di
il seguente:

* gli attributi : hook viene applicato dove gli attributi sono serializzati/deserializzato.

* elementi : hook viene applicato dove gli elementi sono serializzati/deserializzato.

* sconosciutoAttributo : l'hook viene applicato dove vengono elaborati gli attributi sconosciuti.

* elemento sconosciuto : hook viene applicato dove vengono elaborati elementi sconosciuti.

* membro : hook viene applicato quando un membro è serializzato/deserializzato.

* Digitare : il gancio viene applicato per tutta la tipologia.

L'elemento "select" specifica le classi ei membri a cui deve essere aggiunto l'hook.
Può contenere i seguenti elementi:

* tipoNome : verrà selezionata la classe con quel nome (deve includere lo spazio dei nomi)

* typeAttribute : verranno selezionate tutte le classi a cui è applicato quell'attributo
(specificare il nome completo della classe dell'attributo, compreso lo spazio dei nomi). Diversi nomi di attributi
può essere specificato.

* tipoMembro : nome del membro della classe per il quale deve essere aggiunto l'hook.

Il codice sorgente dell'hook può essere specificato utilizzando uno dei seguenti elementi:

* sostituire : il codice sorgente fornito sostituirà tutta la serializzazione/deserializzazione
operazioni nel contesto hook.

* inserirePrima : il codice sorgente verrà aggiunto prima del contesto hook.

* inserireDopo : il codice sorgente verrà aggiunto dopo il contesto hook.

Quando scrivi il codice per un hook puoi usare alcune variabili speciali che sono definite
durante il processo di generazione del codice. Le variabili sono le seguenti:

* $TIPO: nome della classe generata, senza namespace.

* $TIPO COMPLETO: nome completo della classe generata, compreso lo spazio dei nomi.

* $OGGETTO: l'oggetto che viene serializzato o deserializzato. Quando si utilizza un lettore sostitutivo
hook di tipo "tipo", il codice hook deve assegnare l'oggetto deserializzato a questo
variabile.

* -I $ELEMENT: nome dell'elemento dell'oggetto che si sta serializzando/deserializzato.

* $ SPAZIO DEI NOME: spazio dei nomi dell'elemento dell'oggetto che viene serializzato/deserializzato.

* $MEMBRO: nome del membro serializzato/deserializzato. Valido solo nel "membro"
contesto.

HOOK ESEMPI


L'esempio seguente aggiunge una chiamata a un metodo Validate dopo la deserializzazione di any
oggetto:



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



Questo esempio specifica il codice da utilizzare per deserializzare la classe XmlSchema:



System.Xml.Schema.XmlSchema


$ OGGETTO = System.Xml.Schema.XmlSchema.Read (lettore, null);



Quello specifica il codice da utilizzare per leggere le istanze XmlSchema:



System.Xml.Schema.XmlSchema

$OBJECT.Write (scrittore);


Con questi due hook il serializzatore stamperà alcune informazioni durante la serializzazione della classe
"La mia classe":



MyNamespace.MyClass

Console.WriteLine ("Serializzazione di MyClass");
Console.WriteLine ("MyClass serializzato");



MyNamespace.MyClass


Console.WriteLine ("Membro serializzato $MEMBER");



Questo hook scrive un elemento aggiuntivo per tutti i tipi che hanno l'attributo personalizzato
"Il mio attributo":



MyNamespace.MyAttribute


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



CONFIGURAZIONE RISORSE ESEMPIO


Questo è il file di configurazione utilizzato per generare il serializzatore per ServiceDescription:



ServiceDescriptionReaderBase
ServiceDescriptionWriterBase
Descrizione.Servizi.Web.Sistema
ServiceDescriptionSerializerBase.cs



System.Web.Services.Configuration.XmlFormatExtensionPointAttribute

ServiceDescription.ReadExtension (Reader, $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 (scrittore);





AUTORI


Luis Sanchez Gual ([email protected])

Usa genxs online utilizzando i servizi onworks.net


Server e workstation gratuiti

Scarica app per Windows e Linux

  • 1
    AstrOrzPlayer
    AstrOrzPlayer
    AstrOrz Player è un lettore multimediale gratuito
    software, in parte basato su WMP e VLC. Il
    giocatore è in uno stile minimalista, con
    più di dieci colori a tema, e può anche
    b ...
    Scarica AstrOrzPlayer
  • 2
    movistartv
    movistartv
    Kodi Movistar+ TV è un ADDON per XBMC/
    Kodi che permette di disporre di un
    decodificatore dei servizi IPTV de
    Movistar integrato in uno de los
    mediacenter ma...
    Scarica movistartv
  • 3
    Code :: Blocks
    Code :: Blocks
    Code::Blocks è un software gratuito, open-source,
    IDE multipiattaforma C, C++ e Fortran
    costruito per soddisfare le esigenze più esigenti
    dei suoi utenti. È progettato per essere molto
    estende...
    Scarica Codice::Blocchi
  • 4
    in mezzo a
    in mezzo a
    Tra o interfaccia avanzata di Minecraft
    e il monitoraggio dati/struttura è uno strumento per
    mostra una panoramica di un Minecraft
    mondo, senza crearlo. Esso
    Potere ...
    Scarica In mezzo
  • 5
    MSYS2
    MSYS2
    MSYS2 è una raccolta di strumenti e
    biblioteche che ti forniscono un
    ambiente di facile utilizzo per la costruzione,
    installazione ed esecuzione di Windows nativo
    Software. Con...
    Scarica MSYS2
  • 6
    libjpeg-turbo
    libjpeg-turbo
    libjpeg-turbo è un codec di immagine JPEG
    che utilizza istruzioni SIMD (MMX, SSE2,
    NEON, AltiVec) per accelerare la linea di base
    Compressione e decompressione JPEG attiva
    x86, x8...
    Scarica libjpeg-turbo
  • Di Più "

Comandi Linux

  • 1
    abi-tracker
    abi-tracker
    abi-tracker: visualizza le modifiche ABI
    sequenza temporale di una libreria software C/C++.
    DESCRIZIONE: NOME: ABI Tracker
    (abi-tracker) Visualizza le modifiche ABI
    sequenza temporale di un C/C+...
    Esegui abi-tracker
  • 2
    abicheck
    abicheck
    abicheck - controlla i binari dell'applicazione
    per chiamate a simboli privati ​​o in evoluzione
    nelle biblioteche e per il collegamento statico di
    alcune librerie di sistema. ...
    Esegui abicheck
  • 3
    corrieremlm
    corrieremlm
    corrieremlm - La mailing list del corriere
    manager ...
    Esegui corrieremlm
  • 4
    corrieretcpd
    corrieretcpd
    corrieretcpd - il server di posta Courier
    demone del server TCP...
    Esegui Couriertcpd
  • 5
    gbklatex
    gbklatex
    bg5latex - Usa LaTeX direttamente su un Big5
    file codificato bg5pdflatex - Usa
    pdfLaTeX direttamente su un Big5 codificatotex
    file bg5+latex - Usa LaTeX direttamente su a
    Grande5+...
    Esegui gbklatex
  • 6
    gbkpdflatex
    gbkpdflatex
    bg5latex - Usa LaTeX direttamente su un Big5
    file codificato bg5pdflatex - Usa
    pdfLaTeX direttamente su un Big5 codificatotex
    file bg5+latex - Usa LaTeX direttamente su a
    Grande5+...
    Eseguire gbkpdflatex
  • Di Più "

Ad