SchemaImporterExtension Classe

Definição

Permite personalizar o código gerado a partir de um documento Web Services Description Language (WSDL) ao utilizar ferramentas automáticas de consulta.

public ref class SchemaImporterExtension abstract
public abstract class SchemaImporterExtension
type SchemaImporterExtension = class
Public MustInherit Class SchemaImporterExtension
Herança
SchemaImporterExtension
Derivado

Exemplos

Consulte o exemplo de tecnologia SchemaImporterExtension. Note que este exemplo não inclui uma assembleia assinada. Em vez disso, demonstra como usar o SchemaImporterExtension com uma janela de comandos.

Observações

A importação de esquemas ocorre sempre que um proxy de serviço Web é produzido através de uma ferramenta como a caixa de diálogo Adicionar Referência Web encontrada em Visual Studio, ou utilizando a Ferramenta de Linguagem de Descrição de Serviços Web Linguagem de Descrição de Serviços Web (Wsdl.exe). A importação de esquemas também ocorre ao utilizar a Ferramenta de Definição de Esquemas XML (Xsd.exe) para gerar código a partir de um documento XSD específico.

A SchemaImporterExtension classe permite-lhe modificar o código gerado ao usar qualquer uma destas ferramentas. Por exemplo, pode ter uma classe existente que processa encomendas num sistema e ter um documento XSD que fornece as suas encomendas. Usando a SchemaImporterExtension classe, podes ativar uma das ferramentas para gerar código que utiliza a tua classe.

Para controlar a geração do código, deve usar as classes encontradas no System.CodeDom namespace. Para mais informações, consulte Utilização do CodeDOM e Referência Rápida do CodeDOM.

Os passos para ativar a ferramenta WSDL.exe (que por sua vez é usada por outras ferramentas como a caixa de diálogo Adicionar Referência Web) para usar a sua extensão são:

  1. Cria uma implementação da SchemaImporterExtension classe.

  2. Use o ImportSchemaType método para escrever código para o gerador de código. O método contém parâmetros que permitem examinar o tipo XSD intercetado e criar objetos CodeDOM que são usados para gerar o novo código CLR.

  3. Se necessário, use o ImportAnyElement método para tratar <xsd:quaisquer> elementos encontrados no documento XSD.

  4. Se necessário, utilize o ImportDefaultValue método para examinar valores padrão encontrados no documento XSD e devolva um valor padrão diferente.

  5. Compila a tua extensão numa biblioteca.

  6. Assina a assembleia.

  7. Instale a assembly na Global Assembly Cache (GAC).

  8. Modificar o ficheiro machine.config para incluir a extensão.

Construtores

Name Description
SchemaImporterExtension()

Inicializa uma nova instância da SchemaImporterExtension classe.

Métodos

Name Description
Equals(Object)

Determina se o objeto especificado é igual ao objeto atual.

(Herdado de Object)
GetHashCode()

Serve como função de hash predefinida.

(Herdado de Object)
GetType()

Obtém o Type da instância atual.

(Herdado de Object)
ImportAnyElement(XmlSchemaAny, Boolean, XmlSchemas, XmlSchemaImporter, CodeCompileUnit, CodeNamespace, CodeGenerationOptions, CodeDomProvider)

Trata da importação dos <elementos xsd:any> no esquema.

ImportDefaultValue(String, String)

Permite especificar o valor padrão para o tipo XSD a ser importado.

ImportSchemaType(String, String, XmlSchemaObject, XmlSchemas, XmlSchemaImporter, CodeCompileUnit, CodeNamespace, CodeGenerationOptions, CodeDomProvider)

Permite manipular o código gerado examinando o esquema importado e especificando o tipo de CLR para o qual ele se mapeia.

ImportSchemaType(XmlSchemaType, XmlSchemaObject, XmlSchemas, XmlSchemaImporter, CodeCompileUnit, CodeNamespace, CodeGenerationOptions, CodeDomProvider)

Permite manipular o código gerado examinando o esquema importado e especificando o tipo de CLR para o qual ele se mapeia.

MemberwiseClone()

Cria uma cópia superficial do atual Object.

(Herdado de Object)
ToString()

Devolve uma cadeia que representa o objeto atual.

(Herdado de Object)

Aplica-se a