ExportOptions ExportOptions ExportOptions ExportOptions Class

Definition

Stellt die Optionen dar, die für ein XsdDataContractExporter festgelegt werden können.Represents the options that can be set for an XsdDataContractExporter.

public ref class ExportOptions
public class ExportOptions
type ExportOptions = class
Public Class ExportOptions
Vererbung
ExportOptionsExportOptionsExportOptionsExportOptions

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.The following example creates an instance of the ExportOptions class and adds a type (Possessions) to the collection returned by the KnownTypes property.

Das XsdDataContractExporter exportiert dann die Schemas der Typen, einschließlich des der Auflistung hinzugefügten Possessions-Typs.The XsdDataContractExporter then exports the schemas of the types, including the Possessions type added to the collection.

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.The XsdDataContractExporter is used to generate XSD schemas from a type or assembly. Sie können auch den XsdDataContractImporter verwenden, um .NET Framework.NET Framework-Code aus einem Schemadokument zu generieren.You can also use the XsdDataContractImporter to generate .NET Framework.NET Framework code from a schema document.

Weitere Informationen zum Importieren und Exportieren von Schemas finden Sie unter importieren und exportieren von Schemas und Exportieren von Schemas aus Klassen.For more information about importing and exporting schemas, see Schema Import and Export and Exporting Schemas from Classes.

Die KnownTypes-Eigenschaft wird vom DataContractSerializer verwendet, um Typen einzuschließen, die in einem Objektdiagramm gelesen werden können.The KnownTypes property is used by the DataContractSerializer to include types that can be read in an object graph. Weitere Informationen zum Datenvertrag und zu bekannten Typen finden Sie unter Data Contract Known Types.For more information about the data contract and known types, see Data Contract Known Types.

Weitere Informationen zu Daten Verträgen finden Sie unter Verwenden von Daten Verträgen.For more information about data contracts, see Using Data Contracts.

Konstruktoren

ExportOptions() ExportOptions() ExportOptions() ExportOptions()

Initialisiert eine neue Instanz der ExportOptions-Klasse.Initializes a new instance of the ExportOptions class.

Eigenschaften

DataContractSurrogate DataContractSurrogate DataContractSurrogate DataContractSurrogate

Ruft ein Serialisierungsersatzzeichen ab oder legt ein solches fest.Gets or sets a serialization surrogate.

KnownTypes KnownTypes KnownTypes KnownTypes

Ruft die Auflistung der Typen ab, die während der Serialisierung oder Deserialisierung gefunden werden können.Gets the collection of types that may be encountered during serialization or deserialization.

Methoden

Equals(Object) Equals(Object) Equals(Object) Equals(Object)

Bestimmt, ob das angegebene Objekt mit dem aktuellen Objekt identisch ist.Determines whether the specified object is equal to the current object.

(Inherited from Object)
GetHashCode() GetHashCode() GetHashCode() GetHashCode()

Fungiert als Standardhashfunktion.Serves as the default hash function.

(Inherited from Object)
GetType() GetType() GetType() GetType()

Ruft den Type der aktuellen Instanz ab.Gets the Type of the current instance.

(Inherited from Object)
MemberwiseClone() MemberwiseClone() MemberwiseClone() MemberwiseClone()

Erstellt eine flache Kopie des aktuellen Object.Creates a shallow copy of the current Object.

(Inherited from Object)
ToString() ToString() ToString() ToString()

Gibt eine Zeichenfolge zurück, die das aktuelle Objekt darstellt.Returns a string that represents the current object.

(Inherited from Object)

Gilt für:

Siehe auch