SchemaImporterExtension Classe
Definição
Importante
Algumas informações se referem a produtos de pré-lançamento que podem ser substancialmente modificados antes do lançamento. A Microsoft não oferece garantias, expressas ou implícitas, das informações aqui fornecidas.
Permite personalizar o código gerado de um documento com a linguagem WSDL ao usar as ferramentas de consulta automatizadas.
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. Observe que este exemplo não inclui um assembly assinado. Em vez disso, ele demonstra como usar a SchemaImporterExtension janela com um comando.
Comentários
A importação de esquema ocorre sempre que um proxy de serviço Web é produzido por meio de uma ferramenta como a caixa de diálogo Adicionar Referência da Web encontrada em Visual Studio ou usando a Ferramenta de Linguagem de Descrição dos Serviços Web (Wsdl.exe). A importação de esquema também ocorre ao usar a Ferramenta de Definição de Esquema XML (Xsd.exe) para gerar código de um documento XSD específico.
A SchemaImporterExtension classe permite que você modifique o código gerado ao usar qualquer uma dessas ferramentas. Por exemplo, você pode ter uma classe existente que processa pedidos de livro em um sistema e tem um documento XSD existente que fornece seus pedidos. Usando a SchemaImporterExtension classe, você pode habilitar uma das ferramentas para gerar código que usa sua classe.
Para controlar a geração do código, você deve usar as classes encontradas no System.CodeDom namespace. Para obter mais informações, consulte Como usar o CodeDOM e a referência rápida codedom.
As etapas para habilitar a ferramenta WSDL.exe (que, por sua vez, é usada por outras ferramentas, como a caixa de diálogo Adicionar Referência da Web) para usar sua extensão são:
Crie 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 interceptado e criar objetos CodeDOM que são usados para gerar o novo código CLR.
Se necessário, use o ImportAnyElement método para manipular <xsd:any> os elementos encontrados no documento XSD.
Se necessário, use o ImportDefaultValue método para examinar os valores padrão encontrados no documento XSD e retornar um valor padrão diferente.
Compile sua extensão em uma biblioteca.
Assine o assembly.
Instale o assembly no GAC (Cache de Assembly Global).
Modifique o arquivo machine.config para incluir a extensão.
Construtores
SchemaImporterExtension() |
Inicializa uma nova instância da classe SchemaImporterExtension. |
Métodos
Equals(Object) |
Determina se o objeto especificado é igual ao objeto atual. (Herdado de Object) |
GetHashCode() |
Serve como a função de hash padrão. (Herdado de Object) |
GetType() |
Obtém o Type da instância atual. (Herdado de Object) |
ImportAnyElement(XmlSchemaAny, Boolean, XmlSchemas, XmlSchemaImporter, CodeCompileUnit, CodeNamespace, CodeGenerationOptions, CodeDomProvider) |
Lida com a importação de elementos <xsd:any> no esquema. |
ImportDefaultValue(String, String) |
Permite que você especifique o valor padrão para o tipo XSD que está sendo importado. |
ImportSchemaType(String, String, XmlSchemaObject, XmlSchemas, XmlSchemaImporter, CodeCompileUnit, CodeNamespace, CodeGenerationOptions, CodeDomProvider) |
Permite que você manipule o código gerado examinando o esquema importado e especificando o tipo CLR para o qual ele é mapeado. |
ImportSchemaType(XmlSchemaType, XmlSchemaObject, XmlSchemas, XmlSchemaImporter, CodeCompileUnit, CodeNamespace, CodeGenerationOptions, CodeDomProvider) |
Permite que você manipule o código gerado examinando o esquema importado e especificando o tipo CLR para o qual ele é mapeado. |
MemberwiseClone() |
Cria uma cópia superficial do Object atual. (Herdado de Object) |
ToString() |
Retorna uma cadeia de caracteres que representa o objeto atual. (Herdado de Object) |