SchemaImporterExtension.ImportSchemaType Methode

Definition

Ermöglicht das Ändern des Codes, der durch Untersuchen des importierten Schemas und Angeben des diesem zuzuordnenden CLR-Typs generiert wurde.

Überlädt

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

Ermöglicht das Ändern des Codes, der durch Untersuchen des importierten Schemas und Angeben des diesem zuzuordnenden CLR-Typs generiert wurde.

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

Ermöglicht das Ändern des Codes, der durch Untersuchen des importierten Schemas und Angeben des diesem zuzuordnenden CLR-Typs generiert wurde.

Beispiele

Das folgende Beispiel zeigt eine einfache Implementierung der ImportSchemaType(String, String, XmlSchemaObject, XmlSchemas, XmlSchemaImporter, CodeCompileUnit, CodeNamespace, CodeGenerationOptions, CodeDomProvider) Methode. Der Code überprüft den Namespace und den Namen. Wenn die richtigen Werte gefunden werden, wird der Name einer benutzerdefinierten Assembly ("Order.dll") hinzugefügt, auf die im generierten Code verwiesen werden muss. Anschließend wird ein neuer Namespace ("Microsoft.Samples") hinzugefügt, der im Code generiert wird.

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)

Ermöglicht das Ändern des Codes, der durch Untersuchen des importierten Schemas und Angeben des diesem zuzuordnenden CLR-Typs generiert wurde.

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

Parameter

type
XmlSchemaType

Der XSD-Typ.

context
XmlSchemaObject

Die Schemainformationen, z.B. die Zeilennummer des XML-Elements.

schemas
XmlSchemas

Die Sammlung der Schemas im Dokument.

importer
XmlSchemaImporter

Der verwendete Importer.

compileUnit
CodeCompileUnit

Eine CodeCompileUnit, der Sie CodeDOM-Strukturen zum Generieren von alternativem Code für das XSD hinzufügen können.

mainNamespace
CodeNamespace

Der aktuelle Namespace für das Element.

options
CodeGenerationOptions

Eine bitweise Kombination der Enumerationswerte, die die Einstellungsoptionen für den Codecompiler angibt.

codeProvider
CodeDomProvider

Ein CodeDomProvider, der zum Generieren des neuen Codes verwendet wird.

Gibt zurück

Der Name des CLR-Typs, dem dieser zugeordnet wird.

Beispiele

Das folgende Beispiel zeigt eine einfache Implementierung der ImportSchemaType(String, String, XmlSchemaObject, XmlSchemas, XmlSchemaImporter, CodeCompileUnit, CodeNamespace, CodeGenerationOptions, CodeDomProvider) Methode. Der Code überprüft den Namespace und den Namen. Wenn die richtigen Werte gefunden werden, wird der Name einer benutzerdefinierten Assembly ("Order.dll") hinzugefügt, auf die im generierten Code verwiesen werden muss. Anschließend wird ein neuer Namespace ("Microsoft.Samples") hinzugefügt, der im Code generiert wird.

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

Gilt für:

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

Ermöglicht das Ändern des Codes, der durch Untersuchen des importierten Schemas und Angeben des diesem zuzuordnenden CLR-Typs generiert wurde.

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

Parameter

name
String

Der Name des Elements.

ns
String

Der Namespace des Elements.

context
XmlSchemaObject

Die Schemainformationen, z.B. die Zeilennummer des XML-Elements.

schemas
XmlSchemas

Die Sammlung der Schemas im Dokument.

importer
XmlSchemaImporter

Der verwendete Importer.

compileUnit
CodeCompileUnit

Eine CodeCompileUnit, der Sie CodeDOM-Strukturen zum Generieren von alternativem Code für das XSD hinzufügen können.

mainNamespace
CodeNamespace

Der aktuelle Namespace für das Element.

options
CodeGenerationOptions

Eine bitweise Kombination der Enumerationswerte, die die Einstellungsoptionen für den Codecompiler angibt.

codeProvider
CodeDomProvider

Ein CodeDomProvider, der zum Generieren des neuen Codes verwendet wird.

Gibt zurück

Der Name des CLR-Typs, dem dieser zugeordnet wird.

Beispiele

Das folgende Beispiel zeigt eine einfache Implementierung der ImportSchemaType(String, String, XmlSchemaObject, XmlSchemas, XmlSchemaImporter, CodeCompileUnit, CodeNamespace, CodeGenerationOptions, CodeDomProvider) Methode. Der Code überprüft den Namespace und den Namen. Wenn die richtigen Werte gefunden werden, wird der Name einer benutzerdefinierten Assembly ("Order.dll") hinzugefügt, auf die im generierten Code verwiesen werden muss. Anschließend wird ein neuer Namespace ("Microsoft.Samples") hinzugefügt, der im Code generiert wird.

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

Hinweise

Um die Generierung des Codes zu steuern, müssen Sie die Im System.CodeDom Namespace gefundenen Klassen verwenden. Weitere Informationen finden Sie unter Verwenden der CodeDOM- und CodeDOM-Schnellreferenz.

Gilt für: