SchemaImporterExtension Classe
Definição
Importante
Algumas informações dizem respeito a um produto pré-lançado que pode ser substancialmente modificado antes de ser lançado. A Microsoft não faz garantias, de forma expressa ou implícita, em relação à informação aqui apresentada.
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:
Cria uma implementação da SchemaImporterExtension classe.
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.
Se necessário, use o ImportAnyElement método para tratar <xsd:quaisquer> elementos encontrados no documento XSD.
Se necessário, utilize o ImportDefaultValue método para examinar valores padrão encontrados no documento XSD e devolva um valor padrão diferente.
Compila a tua extensão numa biblioteca.
Assina a assembleia.
Instale a assembly na Global Assembly Cache (GAC).
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) |