Udostępnij za pośrednictwem


ExportOptions.KnownTypes Właściwość

Definicja

Pobiera kolekcję typów, które mogą być napotkane podczas serializacji lub deserializacji.

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

Kolekcja zawierająca KnownTypes typy, które mogą być napotkane podczas serializacji lub deserializacji. Reprezentacje schematu XML są eksportowane dla wszystkich typów określonych w tej kolekcji przez element XsdDataContractExporter.

Przykłady

Poniższy przykład tworzy wystąpienie ExportOptions klasy i dodaje typ do kolekcji zwróconej KnownTypes przez właściwość .

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

Właściwość KnownTypes jest używana przez DataContractSerializer element do dołączania typów, które mogą być odczytywane na grafie obiektów (ustawiane przy użyciu DataContractSerializer.KnownTypes właściwości ).

Aby uzyskać więcej informacji na temat kontraktu danych i znanych typów, zobacz Znane typy kontraktów danych.

Dotyczy

Zobacz też