Sdílet prostřednictvím


SchemaImporterExtension.ImportSchemaType Metoda

Definice

Umožňuje manipulovat s vygenerovaným kódem prozkoumáním importovaného schématu a určením typu CLR, na který se mapuje.

Přetížení

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

Umožňuje manipulovat s vygenerovaným kódem prozkoumáním importovaného schématu a určením typu CLR, na který se mapuje.

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

Umožňuje manipulovat s vygenerovaným kódem prozkoumáním importovaného schématu a určením typu CLR, na který se mapuje.

Příklady

Následující příklad ukazuje jednoduchou implementaci ImportSchemaType(String, String, XmlSchemaObject, XmlSchemas, XmlSchemaImporter, CodeCompileUnit, CodeNamespace, CodeGenerationOptions, CodeDomProvider) metody. Kód zkontroluje obor názvů a název. Při nalezení správných hodnot se přidá název vlastního sestavení ("Order.dll"), na které se musí odkazovat ve vygenerovaném kódu. Pak přidá nový obor názvů ("Microsoft.Samples"), který se vygeneruje v kódu.

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)

Umožňuje manipulovat s vygenerovaným kódem prozkoumáním importovaného schématu a určením typu CLR, na který se mapuje.

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

Parametry

type
XmlSchemaType

Typ XSD.

context
XmlSchemaObject

Informace o schématu, například číslo řádku elementu XML.

schemas
XmlSchemas

Kolekce schémat v dokumentu.

importer
XmlSchemaImporter

Použitý dovozce.

compileUnit
CodeCompileUnit

A CodeCompileUnit , do kterého můžete přidat struktury CodeDOM pro vygenerování alternativního kódu pro XSD.

mainNamespace
CodeNamespace

Aktuální obor názvů elementu.

options
CodeGenerationOptions

Bitové kombinace hodnot výčtu, které určují možnosti nastavení v kompilátoru kódu.

codeProvider
CodeDomProvider

A CodeDomProvider , který se používá ke generování nového kódu.

Návraty

Název typu CLR, na který se tento typ mapuje.

Příklady

Následující příklad ukazuje jednoduchou implementaci ImportSchemaType(String, String, XmlSchemaObject, XmlSchemas, XmlSchemaImporter, CodeCompileUnit, CodeNamespace, CodeGenerationOptions, CodeDomProvider) metody. Kód zkontroluje obor názvů a název. Při nalezení správných hodnot se přidá název vlastního sestavení ("Order.dll"), na které se musí odkazovat ve vygenerovaném kódu. Pak přidá nový obor názvů ("Microsoft.Samples"), který se vygeneruje v kódu.

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

Platí pro

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

Umožňuje manipulovat s vygenerovaným kódem prozkoumáním importovaného schématu a určením typu CLR, na který se mapuje.

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

Parametry

name
String

Název elementu.

ns
String

Obor názvů elementu.

context
XmlSchemaObject

Informace o schématu, například číslo řádku elementu XML.

schemas
XmlSchemas

Kolekce schémat v dokumentu.

importer
XmlSchemaImporter

Použitý dovozce.

compileUnit
CodeCompileUnit

A CodeCompileUnit , do kterého můžete přidat struktury CodeDOM pro vygenerování alternativního kódu pro XSD.

mainNamespace
CodeNamespace

Aktuální obor názvů elementu.

options
CodeGenerationOptions

Bitové kombinace hodnot výčtu, které určují možnosti nastavení v kompilátoru kódu.

codeProvider
CodeDomProvider

A CodeDomProvider , který se používá ke generování nového kódu.

Návraty

Název typu CLR, na který se tento typ mapuje.

Příklady

Následující příklad ukazuje jednoduchou implementaci ImportSchemaType(String, String, XmlSchemaObject, XmlSchemas, XmlSchemaImporter, CodeCompileUnit, CodeNamespace, CodeGenerationOptions, CodeDomProvider) metody. Kód zkontroluje obor názvů a název. Při nalezení správných hodnot se přidá název vlastního sestavení ("Order.dll"), na které se musí odkazovat ve vygenerovaném kódu. Pak přidá nový obor názvů ("Microsoft.Samples"), který se vygeneruje v kódu.

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

Poznámky

Chcete-li řídit generování kódu, musíte použít třídy nalezené System.CodeDom v oboru názvů. Další informace najdete v tématu Použití codeDOM a CodeDOM Quick Reference.

Platí pro