Partager via


ExportOptions.KnownTypes Propriété

Définition

Obtient la collection des 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 reprend les types pouvant ê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 la classe XsdDataContractExporter.

Exemples

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

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 propriété KnownTypes est utilisée par la classe DataContractSerializer pour inclure des types qui peuvent être lus dans un graphique d'objet (défini à l'aide de la propriété DataContractSerializer.KnownTypes).

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