ExportOptions Classe

Definizione

Rappresenta le opzioni che possono essere impostate per una classe XsdDataContractExporter.

public class ExportOptions
Ereditarietà
ExportOptions

Esempio

Nell'esempio seguente viene creata un'istanza della classe ExportOptions e viene aggiunto un tipo (Possessions) alla raccolta restituita dalla proprietà KnownTypes.

La classe XsdDataContractExporter esporta quindi gli schemi dei tipi, incluso il tipo Possessions aggiunto alla raccolta.

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;
    }
}

Commenti

La classe XsdDataContractExporter viene utilizzata per generare schemi XSD da un tipo o un assembly. È anche possibile usare per XsdDataContractImporter generare codice .NET Framework da un documento dello schema.

Per altre informazioni sull'importazione ed esportazione di schemi, vedere Importazione ed esportazione di schemi ed esportazionedi schemi da classi.

La proprietà KnownTypes viene utilizzata da DataContractSerializer per includere i tipi che possono essere letti in un oggetto grafico. Per altre informazioni sul contratto dati e sui tipi noti, vedere Tipi noti del contratto dati.

Per altre informazioni sui contratti dati, vedere Uso di contratti dati.

Costruttori

ExportOptions()

Inizializza una nuova istanza della classe ExportOptions.

Proprietà

DataContractSurrogate

Ottiene o imposta un surrogato di serializzazione.

KnownTypes

Ottiene la raccolta di tipi che possono essere rilevati durante la serializzazione o deserializzazione.

Metodi

Equals(Object)

Determina se l'oggetto specificato è uguale all'oggetto corrente.

(Ereditato da Object)
GetHashCode()

Funge da funzione hash predefinita.

(Ereditato da Object)
GetType()

Ottiene l'oggetto Type dell'istanza corrente.

(Ereditato da Object)
MemberwiseClone()

Crea una copia superficiale dell'oggetto Object corrente.

(Ereditato da Object)
ToString()

Restituisce una stringa che rappresenta l'oggetto corrente.

(Ereditato da Object)

Si applica a

Prodotto Versioni
.NET Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9
.NET Framework 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 2.0, 2.1

Vedi anche