다음을 통해 공유


ExportOptions.KnownTypes 속성

정의

serialization 또는 deserialization 중에 발견할 수 있는 형식의 컬렉션을 가져옵니다.

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)

속성 값

serialization 또는 deserialization 중에 발견할 수 있는 형식을 포함하는 KnownTypes 컬렉션입니다. XsdDataContractExporter는 이 컬렉션에서 지정된 모든 형식의 XML 스키마 표현을 내보냅니다.

예제

다음 예제에서는 클래스의 ExportOptions instance 만들고 속성에서 반환 하는 컬렉션에 형식을 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

설명

속성은 KnownTypes 개체 그래프에서 읽을 수 있는 형식을 포함하기 위해 에서 사용됩니다 DataContractSerializer (속성을 사용하여 DataContractSerializer.KnownTypes 설정).

데이터 계약 및 알려진 형식에 대한 자세한 내용은 데이터 계약 알려진 형식을 참조하세요.

적용 대상

추가 정보