Condividi tramite


ExportOptions.KnownTypes Proprietà

Definizione

Ottiene la raccolta di tipi che possono essere rilevati durante la serializzazione o la deserializzazione.

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)

Valore della proprietà

Raccolta KnownTypes che contiene tipi che possono essere rilevati durante la serializzazione o la deserializzazione. Le rappresentazioni di XML Schema vengono esportate per tutti i tipi specificati in questa raccolta da XsdDataContractExporter.

Esempio

Nell'esempio seguente viene creata un'istanza della ExportOptions classe e viene aggiunto un tipo all'insieme restituito dalla KnownTypes proprietà .

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

Commenti

La KnownTypes proprietà viene utilizzata da DataContractSerializer per includere tipi che possono essere letti in un oggetto grafico (impostato usando la DataContractSerializer.KnownTypes proprietà ).

Per altre informazioni sul contratto dati e sui tipi noti, vedere Tipi noti del contratto dati.

Si applica a

Vedi anche