SchemaImporterExtension.ImportSchemaType Méthode

Définition

Permet de manipuler le code généré en examinant le schéma importé et en spécifiant le type CLR auquel il correspond.

Surcharges

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

Permet de manipuler le code généré en examinant le schéma importé et en spécifiant le type CLR auquel il correspond.

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

Permet de manipuler le code généré en examinant le schéma importé et en spécifiant le type CLR auquel il correspond.

Exemples

L’exemple ci-dessous montre une implémentation simple de la ImportSchemaType(String, String, XmlSchemaObject, XmlSchemas, XmlSchemaImporter, CodeCompileUnit, CodeNamespace, CodeGenerationOptions, CodeDomProvider) méthode. Le code vérifie l’espace de noms et le nom. Lorsque les valeurs appropriées sont trouvées, il ajoute le nom d’un assembly personnalisé (« Order.dll ») qui doit être référencé dans le code généré. Il ajoute ensuite un nouvel espace de noms (« Microsoft.Samples ») qui est généré dans le code.

public override string ImportSchemaType(string name, string ns,
    XmlSchemaObject context, XmlSchemas schemas,
    XmlSchemaImporter importer,
    CodeCompileUnit compileUnit, CodeNamespace codeNamespace,
    CodeGenerationOptions options, CodeDomProvider codeGenerator)
    {
        if (name.Equals("Order") && ns.Equals("http://orders/"))
        {
            compileUnit.ReferencedAssemblies.Add("Order.dll");
            codeNamespace.Imports.Add
               (new CodeNamespaceImport("Microsoft.Samples"));
             return "Order";
        }
        return null;
    }
Public Overrides Function ImportschemaType(ByVal name As String, ByVal ns As String, ByVal context As XmlSchemaObject, ByVal schemas As XmlSchemas, ByVal importer As XmlSchemaImporter, ByVal compileUnit As CodeCompileUnit, ByVal codeNamespace As CodeNamespace, ByVal options As CodeGenerationOptions, ByVal codeGenerator As CodeDomProvider) As String 
    If name.Equals("Order") AndAlso ns.Equals("http://orders/") Then
        compileUnit.ReferencedAssemblies.Add("Order.dll")
        codeNamespace.Imports.Add(New CodeNamespaceImport("Microsoft.Samples"))           
        Return "Order"
    End If 
    
    Return Nothing

End Function 'ImportschemaType

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

Permet de manipuler le code généré en examinant le schéma importé et en spécifiant le type CLR auquel il correspond.

public:
 virtual System::String ^ ImportSchemaType(System::Xml::Schema::XmlSchemaType ^ type, System::Xml::Schema::XmlSchemaObject ^ context, System::Xml::Serialization::XmlSchemas ^ schemas, System::Xml::Serialization::XmlSchemaImporter ^ importer, System::CodeDom::CodeCompileUnit ^ compileUnit, System::CodeDom::CodeNamespace ^ mainNamespace, System::Xml::Serialization::CodeGenerationOptions options, System::CodeDom::Compiler::CodeDomProvider ^ codeProvider);
public virtual string ImportSchemaType (System.Xml.Schema.XmlSchemaType type, System.Xml.Schema.XmlSchemaObject context, System.Xml.Serialization.XmlSchemas schemas, System.Xml.Serialization.XmlSchemaImporter importer, System.CodeDom.CodeCompileUnit compileUnit, System.CodeDom.CodeNamespace mainNamespace, System.Xml.Serialization.CodeGenerationOptions options, System.CodeDom.Compiler.CodeDomProvider codeProvider);
abstract member ImportSchemaType : System.Xml.Schema.XmlSchemaType * System.Xml.Schema.XmlSchemaObject * System.Xml.Serialization.XmlSchemas * System.Xml.Serialization.XmlSchemaImporter * System.CodeDom.CodeCompileUnit * System.CodeDom.CodeNamespace * System.Xml.Serialization.CodeGenerationOptions * System.CodeDom.Compiler.CodeDomProvider -> string
override this.ImportSchemaType : System.Xml.Schema.XmlSchemaType * System.Xml.Schema.XmlSchemaObject * System.Xml.Serialization.XmlSchemas * System.Xml.Serialization.XmlSchemaImporter * System.CodeDom.CodeCompileUnit * System.CodeDom.CodeNamespace * System.Xml.Serialization.CodeGenerationOptions * System.CodeDom.Compiler.CodeDomProvider -> string
Public Overridable Function ImportSchemaType (type As XmlSchemaType, context As XmlSchemaObject, schemas As XmlSchemas, importer As XmlSchemaImporter, compileUnit As CodeCompileUnit, mainNamespace As CodeNamespace, options As CodeGenerationOptions, codeProvider As CodeDomProvider) As String

Paramètres

type
XmlSchemaType

Type XSD.

context
XmlSchemaObject

Informations de schéma, telles que le numéro de ligne de l’élément XML.

schemas
XmlSchemas

Collection de schémas du document.

importer
XmlSchemaImporter

Importateur en cours d’utilisation.

compileUnit
CodeCompileUnit

CodeCompileUnit auquel vous pouvez ajouter des structures CodeDOM pour générer un code alternatif pour XSD.

mainNamespace
CodeNamespace

Espace de noms actuel de l’élément.

options
CodeGenerationOptions

Combinaison de bits des valeurs d’énumération qui spécifient les options de configuration dans le compilateur de code.

codeProvider
CodeDomProvider

CodeDomProvider qui est utilisé pour générer le nouveau code.

Retours

Nom du type CLR à qui cela est mappé.

Exemples

L’exemple ci-dessous montre une implémentation simple de la ImportSchemaType(String, String, XmlSchemaObject, XmlSchemas, XmlSchemaImporter, CodeCompileUnit, CodeNamespace, CodeGenerationOptions, CodeDomProvider) méthode. Le code vérifie l’espace de noms et le nom. Lorsque les valeurs appropriées sont trouvées, il ajoute le nom d’un assembly personnalisé (« Order.dll ») qui doit être référencé dans le code généré. Il ajoute ensuite un nouvel espace de noms (« Microsoft.Samples ») qui est généré dans le code.

public override string ImportSchemaType(string name, string ns,
    XmlSchemaObject context, XmlSchemas schemas,
    XmlSchemaImporter importer,
    CodeCompileUnit compileUnit, CodeNamespace codeNamespace,
    CodeGenerationOptions options, CodeDomProvider codeGenerator)
    {
        if (name.Equals("Order") && ns.Equals("http://orders/"))
        {
            compileUnit.ReferencedAssemblies.Add("Order.dll");
            codeNamespace.Imports.Add
               (new CodeNamespaceImport("Microsoft.Samples"));
             return "Order";
        }
        return null;
    }
Public Overrides Function ImportschemaType(ByVal name As String, ByVal ns As String, ByVal context As XmlSchemaObject, ByVal schemas As XmlSchemas, ByVal importer As XmlSchemaImporter, ByVal compileUnit As CodeCompileUnit, ByVal codeNamespace As CodeNamespace, ByVal options As CodeGenerationOptions, ByVal codeGenerator As CodeDomProvider) As String 
    If name.Equals("Order") AndAlso ns.Equals("http://orders/") Then
        compileUnit.ReferencedAssemblies.Add("Order.dll")
        codeNamespace.Imports.Add(New CodeNamespaceImport("Microsoft.Samples"))           
        Return "Order"
    End If 
    
    Return Nothing

End Function 'ImportschemaType

S’applique à

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

Permet de manipuler le code généré en examinant le schéma importé et en spécifiant le type CLR auquel il correspond.

public:
 virtual System::String ^ ImportSchemaType(System::String ^ name, System::String ^ ns, System::Xml::Schema::XmlSchemaObject ^ context, System::Xml::Serialization::XmlSchemas ^ schemas, System::Xml::Serialization::XmlSchemaImporter ^ importer, System::CodeDom::CodeCompileUnit ^ compileUnit, System::CodeDom::CodeNamespace ^ mainNamespace, System::Xml::Serialization::CodeGenerationOptions options, System::CodeDom::Compiler::CodeDomProvider ^ codeProvider);
public virtual string ImportSchemaType (string name, string ns, System.Xml.Schema.XmlSchemaObject context, System.Xml.Serialization.XmlSchemas schemas, System.Xml.Serialization.XmlSchemaImporter importer, System.CodeDom.CodeCompileUnit compileUnit, System.CodeDom.CodeNamespace mainNamespace, System.Xml.Serialization.CodeGenerationOptions options, System.CodeDom.Compiler.CodeDomProvider codeProvider);
abstract member ImportSchemaType : string * string * System.Xml.Schema.XmlSchemaObject * System.Xml.Serialization.XmlSchemas * System.Xml.Serialization.XmlSchemaImporter * System.CodeDom.CodeCompileUnit * System.CodeDom.CodeNamespace * System.Xml.Serialization.CodeGenerationOptions * System.CodeDom.Compiler.CodeDomProvider -> string
override this.ImportSchemaType : string * string * System.Xml.Schema.XmlSchemaObject * System.Xml.Serialization.XmlSchemas * System.Xml.Serialization.XmlSchemaImporter * System.CodeDom.CodeCompileUnit * System.CodeDom.CodeNamespace * System.Xml.Serialization.CodeGenerationOptions * System.CodeDom.Compiler.CodeDomProvider -> string
Public Overridable Function ImportSchemaType (name As String, ns As String, context As XmlSchemaObject, schemas As XmlSchemas, importer As XmlSchemaImporter, compileUnit As CodeCompileUnit, mainNamespace As CodeNamespace, options As CodeGenerationOptions, codeProvider As CodeDomProvider) As String

Paramètres

name
String

Nom de l'élément.

ns
String

Espace de noms de l'élément.

context
XmlSchemaObject

Informations de schéma, telles que le numéro de ligne de l’élément XML.

schemas
XmlSchemas

Collection de schémas du document.

importer
XmlSchemaImporter

Importateur en cours d’utilisation.

compileUnit
CodeCompileUnit

CodeCompileUnit auquel vous pouvez ajouter des structures CodeDOM pour générer un code alternatif pour XSD.

mainNamespace
CodeNamespace

Espace de noms actuel de l’élément.

options
CodeGenerationOptions

Combinaison de bits des valeurs d’énumération qui spécifient les options de configuration dans le compilateur de code.

codeProvider
CodeDomProvider

CodeDomProvider qui est utilisé pour générer le nouveau code.

Retours

Nom du type CLR à qui cela est mappé.

Exemples

L’exemple ci-dessous montre une implémentation simple de la ImportSchemaType(String, String, XmlSchemaObject, XmlSchemas, XmlSchemaImporter, CodeCompileUnit, CodeNamespace, CodeGenerationOptions, CodeDomProvider) méthode. Le code vérifie l’espace de noms et le nom. Lorsque les valeurs appropriées sont trouvées, il ajoute le nom d’un assembly personnalisé (« Order.dll ») qui doit être référencé dans le code généré. Il ajoute ensuite un nouvel espace de noms (« Microsoft.Samples ») qui est généré dans le code.

public override string ImportSchemaType(string name, string ns,
    XmlSchemaObject context, XmlSchemas schemas,
    XmlSchemaImporter importer,
    CodeCompileUnit compileUnit, CodeNamespace codeNamespace,
    CodeGenerationOptions options, CodeDomProvider codeGenerator)
    {
        if (name.Equals("Order") && ns.Equals("http://orders/"))
        {
            compileUnit.ReferencedAssemblies.Add("Order.dll");
            codeNamespace.Imports.Add
               (new CodeNamespaceImport("Microsoft.Samples"));
             return "Order";
        }
        return null;
    }
Public Overrides Function ImportschemaType(ByVal name As String, ByVal ns As String, ByVal context As XmlSchemaObject, ByVal schemas As XmlSchemas, ByVal importer As XmlSchemaImporter, ByVal compileUnit As CodeCompileUnit, ByVal codeNamespace As CodeNamespace, ByVal options As CodeGenerationOptions, ByVal codeGenerator As CodeDomProvider) As String 
    If name.Equals("Order") AndAlso ns.Equals("http://orders/") Then
        compileUnit.ReferencedAssemblies.Add("Order.dll")
        codeNamespace.Imports.Add(New CodeNamespaceImport("Microsoft.Samples"))           
        Return "Order"
    End If 
    
    Return Nothing

End Function 'ImportschemaType

Remarques

Pour contrôler la génération du code, vous devez utiliser les classes de l’espace de System.CodeDom noms. Pour plus d’informations, consultez Utilisation desinformations de référence rapides CodeDOM et CodeDOM.

S’applique à