ExportOptions Classe

Definizione

Rappresenta le opzioni che possono essere impostate per una classe XsdDataContractExporter.Represents the options that can be set for an XsdDataContractExporter.

public ref class ExportOptions
public class ExportOptions
type ExportOptions = class
Public Class ExportOptions
Ereditarietà
ExportOptions

Esempi

Nell'esempio seguente viene creata un'istanza della classe ExportOptions e viene aggiunto un tipo (Possessions) alla raccolta restituita dalla proprietà KnownTypes.The following example creates an instance of the ExportOptions class and adds a type (Possessions) to the collection returned by the KnownTypes property.

La classe XsdDataContractExporter esporta quindi gli schemi dei tipi, incluso il tipo Possessions aggiunto alla raccolta.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

Commenti

La classe XsdDataContractExporter viene utilizzata per generare schemi XSD da un tipo o un assembly.The XsdDataContractExporter is used to generate XSD schemas from a type or assembly. È inoltre possibile utilizzare la classe XsdDataContractImporter per generare codice .NET Framework.NET Framework da un documento dello schema.You can also use the XsdDataContractImporter to generate .NET Framework.NET Framework code from a schema document.

Per ulteriori informazioni sull'importazione e l'esportazione di schemi, vedere schemi di importazione ed esportazione ed esportazione di schemi dalle classi.For more information about importing and exporting schemas, see Schema Import and Export and Exporting Schemas from Classes.

La proprietà KnownTypes viene utilizzata da DataContractSerializer per includere i tipi che possono essere letti in un oggetto grafico.The KnownTypes property is used by the DataContractSerializer to include types that can be read in an object graph. Per ulteriori informazioni sul contratto dati e sui tipi noti, vedere tipi noti del contratto dati.For more information about the data contract and known types, see Data Contract Known Types.

Per ulteriori informazioni sui contratti dati, vedere utilizzo di contratti dati.For more information about data contracts, see Using Data Contracts.

Costruttori

ExportOptions()

Inizializza una nuova istanza della classe ExportOptions.Initializes a new instance of the ExportOptions class.

Proprietà

DataContractSurrogate

Ottiene o imposta un surrogato di serializzazione.Gets or sets a serialization surrogate.

KnownTypes

Ottiene la raccolta dei tipi che possono essere rilevati durante la serializzazione o la deserializzazione.Gets the collection of types that may be encountered during serialization or deserialization.

Metodi

Equals(Object)

Determina se l'oggetto specificato è uguale all'oggetto corrente.Determines whether the specified object is equal to the current object.

(Ereditato da Object)
GetHashCode()

Funge da funzione hash predefinita.Serves as the default hash function.

(Ereditato da Object)
GetType()

Ottiene l'oggetto Type dell'istanza corrente.Gets the Type of the current instance.

(Ereditato da Object)
MemberwiseClone()

Crea una copia superficiale dell'oggetto Object corrente.Creates a shallow copy of the current Object.

(Ereditato da Object)
ToString()

Restituisce una stringa che rappresenta l'oggetto corrente.Returns a string that represents the current object.

(Ereditato da Object)

Si applica a

Vedi anche