Aracılığıyla paylaş


ExportOptions.KnownTypes Özellik

Tanım

Serileştirme veya seri durumdan çıkarma sırasında karşılaşılabilecek türlerin koleksiyonunu alır.

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)

Özellik Değeri

KnownTypes Serileştirme veya seri durumdan çıkarma sırasında karşılaşılabilecek türleri içeren bir koleksiyon. XML şema gösterimleri, tarafından bu koleksiyonda belirtilen tüm türler için dışarı XsdDataContractExporteraktarılır.

Örnekler

Aşağıdaki örnek, sınıfının bir örneğini ExportOptions oluşturur ve özelliği tarafından KnownTypes döndürülen koleksiyona bir tür ekler.

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

Açıklamalar

KnownTypes özelliği tarafından DataContractSerializer bir nesne grafında okunabilecek türleri eklemek için kullanılır (özelliği kullanılarak DataContractSerializer.KnownTypes ayarlanır).

Veri sözleşmesi ve bilinen türler hakkında daha fazla bilgi için bkz. Veri Sözleşmesi Bilinen Türleri.

Şunlara uygulanır

Ayrıca bkz.