InglêsFrancêsEspanhol

Ad


favicon do OnWorks

genxs - Online na nuvem

Execute genxs no provedor de hospedagem gratuita OnWorks no Ubuntu Online, Fedora Online, emulador online do Windows ou emulador online do MAC OS

Este é o comando genxs que pode ser executado no provedor de hospedagem gratuita OnWorks usando uma de nossas várias estações de trabalho online gratuitas, como Ubuntu Online, Fedora Online, emulador online do Windows ou emulador online do MAC OS

PROGRAMA:

NOME


genxs - Gerador de serializador Xml Mono

SINOPSE


genx arquivo de configuração [destinationFolder]

DESCRIÇÃO


genx é uma ferramenta para gerar gravadores e leitores de serialização XML personalizados para classes.

arquivo de configuração é um arquivo de configuração que especifica várias informações, como o
classe para a qual gerar o leitor e o escritor, o nome e o namespace das classes
para gerar e uma coleção de ganchos para aplicar. Usando ganchos, é possível
personalizar o comportamento do serializador sem a necessidade de modificar o arquivo gerado, para
você pode regenerá-lo com segurança se a classe de origem for modificada.

pasta de destino especifica a pasta onde os arquivos serão gerados.

NOTA: Esta ferramenta só funciona no tempo de execução Mono, uma vez que usa algumas classes internas não
disponível em outros tempos de execução.

CONFIGURAÇÃO ARQUIVO FORMATO


O arquivo de configuração é um documento xml baseado na seguinte gramática ("?" Significa
opcional, "*" 0 ou mais):


*
nome ?
nome ?
nome ?
nome ?
?
*

?
*




Um arquivo de configuração pode ter vários elementos de "serializador", cada um dos quais especifica o
classe para a qual gerar um serializador junto com várias opções de geração. o
a classe de origem é especificada nos seguintes atributos:

* classe : nome da classe (incluindo namespace).

* montagem : nome do assembly. Pode incluir o caminho completo.

As opções de geração são especificadas em elementos filho:

* leitor : nome da classe de leitores.

* sem leitor : se "verdadeiro", não gera classe de leitor.

* escritor : nome da classe do escritor.

* baseSerializer : nome da classe base do serializador xml. Este item é apenas 2.0.

* implementação : nome da classe de implementação do serializador. Este item é apenas 2.0.

* sem escritor : se "verdadeiro", não gera classe de escritor.

* namespace : namespace das classes de leitor e escritor.

* gerarAsInterno : se "verdadeiro", gera classes como internas.

* OutFileName : nome do arquivo gerado.

* leitor Ganchos : uma lista de ganchos para aplicar ao leitor.

* escritor Hooks : uma lista de ganchos para aplicar ao escritor.

ESPECIFICANDO HOOKS


Usando ganchos, você pode personalizar o comportamento de leitores e escritores. Uma especificação de gancho
segue esta gramática:


?
nome ?
nome *
nome ?

Código fonte ?
Código fonte ?
Código fonte ?


O atributo "type" especifica o contexto no qual o gancho é aplicado. Pode ser um de
o seguinte:

* atributos : o gancho é aplicado onde os atributos são serializados / desserializados.

* elementos : o gancho é aplicado onde os elementos são serializados / desserializados.

* Atributo desconhecido : o gancho é aplicado onde atributos desconhecidos são processados.

* elemento desconhecido : o gancho é aplicado onde elementos desconhecidos são processados.

* membro : gancho é aplicado onde um membro é serializado / desserializado.

* tipo : o gancho é aplicado para todo o tipo.

O elemento "select" especifica as classes e membros aos quais o gancho deve ser adicionado.
Ele pode conter os seguintes elementos:

* Digite o nome : a classe com esse nome será selecionada (deve incluir namespace)

* atributo tipo : todas as classes que têm esse atributo aplicado serão selecionadas
(especifique o nome completo da classe de atributo, incluindo o namespace). Vários nomes de atributos
pode ser especificado.

* typeMembro : nome do membro da classe para o qual o gancho deve ser adicionado.

O código-fonte do gancho pode ser especificado usando qualquer um dos seguintes elementos:

* substituir : o código-fonte fornecido substituirá toda a serialização / desserialização
operações no contexto do gancho.

* inserirAntes : o código-fonte será adicionado antes do contexto do gancho.

* inserirDepois : o código-fonte será adicionado após o contexto do gancho.

Ao escrever o código para um gancho, você pode usar algumas variáveis ​​especiais que são definidas
durante o processo de geração de código. As variáveis ​​são as seguintes:

* $ TYPE: nome da classe que está sendo gerada, sem namespace.

* $ FULLTYPE: nome completo da classe que está sendo gerada, incluindo namespace.

* $ OBJECT: o objeto sendo serializado ou desserializado. Ao usar um leitor de substituição
gancho do tipo "tipo", o código do gancho deve atribuir o objeto desserializado a este
variável.

* -I $ ELEMENT: nome do elemento do objeto que está sendo serializado / desserializado.

* $ NAMESPACE: namespace do elemento do objeto que está sendo serializado / desserializado.

* $ MEMBER: nome do membro que está sendo serializado / desserializado. Válido apenas no "membro"
contexto.

GANCHO EXEMPLOS


O exemplo a seguir adiciona uma chamada a um método Validate após a desserialização de qualquer
objeto:



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



Este exemplo especifica o código a ser usado para desserializar a classe XmlSchema:



System.Xml.Schema.XmlSchema


$ OBJECT = System.Xml.Schema.XmlSchema.Read (Leitor, nulo);



Esse especifica o código a ser usado para ler as instâncias de XmlSchema:



System.Xml.Schema.XmlSchema

$ OBJECT.Write (Escritor);


Com estes dois ganchos o serializador irá imprimir algumas informações ao serializar a classe
"Minha classe":



MyNamespace.MyClass

Console.WriteLine ("Serializing MyClass");
Console.WriteLine ("MyClass serialized");



MyNamespace.MyClass


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



Este gancho grava um elemento adicional para todos os tipos que possuem o atributo personalizado
"MyAttribute":



MyNamespace.MyAttribute


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



CONFIGURAÇÃO ARQUIVO EXEMPLO


Este é o arquivo de configuração usado para gerar o serializador para ServiceDescription:



ServiceDescriptionReaderBase
ServiceDescriptionWriterBase
System.Web.Services.Description
ServiceDescriptionSerializerBase.cs



System.Web.Services.Configuration.XmlFormatExtensionPointAttribute

ServiceDescription.ReadExtension (Reader, $ OBJECT);



System.Xml.Schema.XmlSchema

$ OBJECT = System.Xml.Schema.XmlSchema.Read (Leitor, nulo);





System.Web.Services.Configuration.XmlFormatExtensionPointAttribute

ServiceDescription.WriteExtensions (Writer, $ OBJECT);



System.Xml.Schema.XmlSchema

$ OBJECT.Write (Escritor);





AUTORES


Luís Sánchez Gual ([email protegido])

Use genxs online usando serviços onworks.net


Servidores e estações de trabalho gratuitos

Baixar aplicativos Windows e Linux

  • 1
    AstrOrzPlayer
    AstrOrzPlayer
    AstrOrz Player é um media player gratuito
    software, parte baseado em WMP e VLC. o
    jogador é de estilo minimalista, com
    mais de dez cores temáticas, podendo também
    b ...
    Baixar AstrOrzPlayer
  • 2
    Movistartv
    Movistartv
    Kodi Movistar+ TV é um ADDON para XBMC/
    Kodi que permite dispor de um
    decodificador de serviços IPTV de
    Movistar integrado em um dos
    centros de mídia ma...
    baixar movistv
  • 3
    Código :: Blocos
    Código :: Blocos
    Code::Blocks é um software livre, de código aberto,
    plataforma cruzada C, C++ e Fortran IDE
    construído para atender às necessidades mais exigentes
    de seus usuários. Ele é projetado para ser muito
    extens ...
    Baixar Código::Blocos
  • 4
    Em meio a
    Em meio a
    No meio ou interface avançada do Minecraft
    e o Data / Structure Tracking é uma ferramenta para
    exibir uma visão geral de um Minecraft
    mundo, sem realmente criá-lo. Isto
    posso ...
    Baixar no meio
  • 5
    MSYS2
    MSYS2
    MSYS2 é uma coleção de ferramentas e
    bibliotecas fornecendo a você um
    ambiente fácil de usar para construção,
    instalar e executar o Windows nativo
    Programas. É con ...
    Baixar MSYS2
  • 6
    libjpeg-turbo
    libjpeg-turbo
    libjpeg-turbo é um codec de imagem JPEG
    que usa instruções SIMD (MMX, SSE2,
    NEON, AltiVec) para acelerar a linha de base
    Compressão e descompressão JPEG em
    x86, x8 ...
    Baixar libjpeg-turbo
  • Mais "

Comandos Linux

  • 1
    abi-rastreador
    abi-rastreador
    abi-tracker - visualize alterações de ABI
    linha do tempo de uma biblioteca de software C/C++.
    DESCRIÇÃO: NOME: Rastreador ABI
    (abi-tracker) Visualize alterações de ABI
    linha do tempo de um C/C+...
    Execute o abi-tracker
  • 2
    Abicheck
    Abicheck
    abicheck - verifica os binários do aplicativo
    para chamadas para símbolos privados ou em evolução
    em bibliotecas e para ligação estática de
    algumas bibliotecas do sistema. ...
    Executar abicheck
  • 3
    couriermlm
    couriermlm
    couriermlm - A lista de discussão do Courier
    gerente ...
    Execute couriermlm
  • 4
    Couriertcpd
    Couriertcpd
    couriertcpd - o servidor de correio do Courier
    Daemon do servidor TCP...
    Executar couriertcpd
  • 5
    gbklatex
    gbklatex
    bg5latex - Use LaTeX diretamente em um Big5
    arquivo encodedtex bg5pdflatex - Use
    pdfLaTeX diretamente em um codificado Big5
    arquivo bg5+latex - Use o LaTeX diretamente em um
    Grande5+...
    Execute o gbklatex
  • 6
    gbkpdflatex
    gbkpdflatex
    bg5latex - Use LaTeX diretamente em um Big5
    arquivo encodedtex bg5pdflatex - Use
    pdfLaTeX diretamente em um codificado Big5
    arquivo bg5+latex - Use o LaTeX diretamente em um
    Grande5+...
    Execute o gbkpdflatex
  • Mais "

Ad