ExportOptions Klasse
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.
Stellt die Optionen dar, die für ein XsdDataContractExporter festgelegt werden können.
public ref class ExportOptions
public class ExportOptions
type ExportOptions = class
Public Class ExportOptions
- Vererbung
-
ExportOptions
Beispiele
In dem folgenden Beispiel wird eine Instanz der ExportOptions-Klasse erstellt, und es wird ein Typ (Possessions
) zu der Auflistung hinzugefügt, die von der KnownTypes-Eigenschaft zurückgegeben wird.
Das XsdDataContractExporter exportiert dann die Schemas der Typen, einschließlich des der Auflistung hinzugefügten Possessions
-Typs.
using System;
using System.Xml;
using System.Runtime.Serialization;
using System.Xml.Schema;
public class Program
{
public static void Main()
{
try
{
ExportXSD();
}
catch (Exception exc)
{
Console.WriteLine("Message: {0} StackTrace:{1}", exc.Message, exc.StackTrace);
}
finally
{
Console.ReadLine();
}
}
static void ExportXSD()
{
XsdDataContractExporter exporter = new XsdDataContractExporter();
if (exporter.CanExport(typeof(Employee)))
{
exporter.Export(typeof(Employee));
Console.WriteLine("number of schemas: {0}", exporter.Schemas.Count);
Console.WriteLine();
XmlSchemaSet mySchemas = exporter.Schemas;
XmlQualifiedName XmlNameValue = exporter.GetRootElementName(typeof(Employee));
string EmployeeNameSpace = XmlNameValue.Namespace;
foreach (XmlSchema schema in mySchemas.Schemas(EmployeeNameSpace))
{
schema.Write(Console.Out);
}
}
}
static void GetXmlElementName()
{
XsdDataContractExporter myExporter = new XsdDataContractExporter();
XmlQualifiedName xmlElementName =myExporter.GetRootElementName(typeof(Employee));
Console.WriteLine("Namespace: {0}", xmlElementName.Namespace);
Console.WriteLine("Name: {0}", xmlElementName.Name);
Console.WriteLine("IsEmpty: {0}", xmlElementName.IsEmpty);
}
[DataContract(Namespace = "www.Contoso.com/Examples/")]
public class Employee
{
[DataMember]
public string EmployeeName;
[DataMember]
private string ID;
}
}
Imports System.Collections
Imports System.Xml
Imports System.Runtime.Serialization
Imports System.Xml.Schema
Public Class Program
Public Shared Sub Main()
Try
ExportXSD()
Catch exc As Exception
Console.WriteLine("Message: {0} StackTrace:{1}", exc.Message, exc.StackTrace)
Finally
Console.ReadLine()
End Try
End Sub
Shared Sub ExportXSD()
Dim exporter As New XsdDataContractExporter()
' Use the ExportOptions to add the Possessions type to the
' collection of KnownTypes.
Dim eOptions As New ExportOptions()
eOptions.KnownTypes.Add(GetType(Possessions))
exporter.Options = eOptions
If exporter.CanExport(GetType(Employee)) Then
exporter.Export(GetType(Employee))
Console.WriteLine("number of schemas: {0}", exporter.Schemas.Count)
Console.WriteLine()
Dim mySchemas As XmlSchemaSet = exporter.Schemas
Dim XmlNameValue As XmlQualifiedName = _
exporter.GetRootElementName(GetType(Employee))
Dim EmployeeNameSpace As String = XmlNameValue.Namespace
Dim schema As XmlSchema
For Each schema In mySchemas.Schemas(EmployeeNameSpace)
schema.Write(Console.Out)
Next schema
End If
End Sub
Shared Sub GetXmlElementName()
Dim myExporter As New XsdDataContractExporter()
Dim xmlElementName As XmlQualifiedName = myExporter. _
GetRootElementName(GetType(Employee))
Console.WriteLine("Namespace: {0}", xmlElementName.Namespace)
Console.WriteLine("Name: {0}", xmlElementName.Name)
Console.WriteLine("IsEmpty: {0}", xmlElementName.IsEmpty)
End Sub
<DataContract([Namespace] := "www.Contoso.com/Examples/")> _
Public Class Employee
<DataMember()> _
Public EmployeeName As String
<DataMember()> _
Private ID As String
' This member may return a Possessions type.
<DataMember> _
public Miscellaneous As Hashtable
End Class
<DataContract> _
Public Class Possessions
<DataMember> _
Public ItemName As String
End Class
End Class
Hinweise
Das XsdDataContractExporter wird verwendet, um XSD-Schemas aus einem Typ oder einer Assembly zu generieren. Sie können auch den XsdDataContractImporter verwenden, um .NET Framework Code aus einem Schemadokument zu generieren.
Weitere Informationen zum Importieren und Exportieren von Schemas finden Sie unter Importieren und Exportieren von Schemas und Exportieren von Schemas aus Klassen.
Die KnownTypes-Eigenschaft wird vom DataContractSerializer verwendet, um Typen einzuschließen, die in einem Objektdiagramm gelesen werden können. Weitere Informationen zum Datenvertrag und zu bekannten Typen finden Sie unter Bekannte Typen für Den Datenvertrag.
Weitere Informationen zu Datenverträgen finden Sie unter Verwenden von Datenverträgen.
Konstruktoren
ExportOptions() |
Initialisiert eine neue Instanz der ExportOptions-Klasse. |
Eigenschaften
DataContractSurrogate |
Ruft ein Serialisierungsersatzzeichen ab oder legt ein solches fest. |
KnownTypes |
Ruft die Auflistung der Typen ab, die während der Serialisierung oder Deserialisierung gefunden werden können. |
Methoden
Equals(Object) |
Bestimmt, ob das angegebene Objekt gleich dem aktuellen Objekt ist. (Geerbt von Object) |
GetHashCode() |
Fungiert als Standardhashfunktion. (Geerbt von Object) |
GetType() |
Ruft den Type der aktuellen Instanz ab. (Geerbt von Object) |
MemberwiseClone() |
Erstellt eine flache Kopie des aktuellen Object. (Geerbt von Object) |
ToString() |
Gibt eine Zeichenfolge zurück, die das aktuelle Objekt darstellt. (Geerbt von Object) |