SchemaImporterExtension.ImportSchemaType Methode
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
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:
Feedback
https://aka.ms/ContentUserFeedback.
Bald verfügbar: Im Laufe des Jahres 2024 werden wir GitHub-Issues stufenweise als Feedbackmechanismus für Inhalte abbauen und durch ein neues Feedbacksystem ersetzen. Weitere Informationen finden Sie unterFeedback senden und anzeigen für