Partager via


ExportOptions.KnownTypes Propriété

Définition

Obtient la collection de types qui peuvent être rencontrés pendant la sérialisation ou la désérialisation.

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)

Valeur de propriété

Collection KnownTypes qui contient des types qui peuvent être rencontrés pendant la sérialisation ou la désérialisation. Les représentations de schéma XML sont exportées pour tous les types spécifiés dans cette collection par le XsdDataContractExporter.

Exemples

L’exemple suivant crée une instance de la ExportOptions classe et ajoute un type à la collection retournée par la KnownTypes propriété.

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

Remarques

La KnownTypes propriété est utilisée par les DataContractSerializer types permettant d’inclure des types qui peuvent être lus dans un graphique d’objet (défini à l’aide de la DataContractSerializer.KnownTypes propriété).

Pour plus d’informations sur le contrat de données et les types connus, consultez Types connus de contrat de données.

S’applique à

Voir aussi