ExportOptions.KnownTypes Właściwość

Definicja

Pobiera kolekcję typów, które mogą być napotkane podczas serializacji lub deserializacji.Gets the collection of types that may be encountered during serialization or deserialization.

public:
 property System::Collections::ObjectModel::Collection<Type ^> ^ KnownTypes { System::Collections::ObjectModel::Collection<Type ^> ^ get(); };
public System.Collections.ObjectModel.Collection<Type> KnownTypes { get; }
member this.KnownTypes : System.Collections.ObjectModel.Collection<Type>
Public ReadOnly Property KnownTypes As Collection(Of Type)

Wartość właściwości

Collection<Type>

KnownTypesKolekcja zawierająca typy, które mogą być napotkane podczas serializacji lub deserializacji.A KnownTypes collection that contains types that may be encountered during serialization or deserialization. Reprezentacje schematu XML są eksportowane dla wszystkich typów określonych w tej kolekcji przez XsdDataContractExporter .XML schema representations are exported for all the types specified in this collection by the XsdDataContractExporter.

Przykłady

Poniższy przykład tworzy wystąpienie ExportOptions klasy i dodaje typ do kolekcji zwróconej przez KnownTypes Właściwość.The following example creates an instance of the ExportOptions class and adds a type to the collection returned by the KnownTypes property.

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

Uwagi

KnownTypesWłaściwość jest używana przez DataContractSerializer do dołączania typów, które mogą być odczytywane w grafie obiektów (ustawianym za pomocą DataContractSerializer.KnownTypes Właściwości).The KnownTypes property is used by the DataContractSerializer to include types that can be read in an object graph (set using the DataContractSerializer.KnownTypes property).

Aby uzyskać więcej informacji na temat kontraktu danych i znanych typów, zobacz znane typy kontraktu danych.For more information about the data contract and known types, see Data Contract Known Types.

Dotyczy

Zobacz też