Freigeben über


ExportOptions.KnownTypes Eigenschaft

Definition

Ruft die Auflistung von Typen ab, die während der Serialisierung oder Deserialisierung auftreten können.

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)

Eigenschaftswert

Eine KnownTypes Auflistung, die Typen enthält, die während der Serialisierung oder Deserialisierung auftreten können. XML-Schemadarstellungen werden für alle typen exportiert, die in dieser Auflistung durch die XsdDataContractExporter.

Beispiele

Im folgenden Beispiel wird eine Instanz der ExportOptions Klasse erstellt und der von der KnownTypes Eigenschaft zurückgegebenen Auflistung ein Typ hinzugefügt.

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

Hinweise

Die KnownTypes Eigenschaft wird verwendet, DataContractSerializer um Typen einzuschließen, die in einem Objektdiagramm gelesen werden können (mit der DataContractSerializer.KnownTypes Eigenschaft festgelegt).

Weitere Informationen zum Datenvertrag und bekannten Typen finden Sie unter "Datenvertrag bekannte Typen".

Gilt für:

Weitere Informationen