Aracılığıyla paylaş


Nasıl yapılır: Bir Sınıf veya Yapı için Temel Bir Veri Sözleşmesi Oluşturma

Bu konuda, bir sınıf veya yapı kullanarak veri sözleşmesi oluşturmanın temel adımları gösterilmektedir. Veri sözleşmeleri ve bunların nasıl kullanıldığı hakkında daha fazla bilgi için bkz . Veri Sözleşmelerini Kullanma.

Temel bir Windows Communication Foundation (WCF) hizmeti ve istemcisi oluşturma adımlarını gösteren bir öğretici için bkz . Başlarken Öğreticisi. Temel hizmet ve istemciden oluşan çalışan bir örnek uygulama için bkz . Temel Veri Sözleşmesi.

Bir sınıf veya yapı için temel veri sözleşmesi oluşturmak için

  1. özniteliğini sınıfına uygulayarak türün bir veri sözleşmesi olduğunu DataContractAttribute bildirin. Öznitelikleri olmayanlar da dahil olmak üzere tüm genel türlerin serileştirilebilir olduğunu unutmayın. DataContractSerializer özniteliği yoksa bir veri sözleşmesi çıkartırDataContractAttribute. Daha fazla bilgi için bkz . SeriLeştirilebilir Türler.

  2. Özniteliğini her üyeye uygulayarak DataMemberAttribute seri hale getirilen üyeleri (özellikler, alanlar veya olaylar) tanımlayın. Bu üyelere veri üyesi adı verilir. Varsayılan olarak, tüm genel türler serileştirilebilir. Daha fazla bilgi için bkz . SeriLeştirilebilir Türler.

    Not

    Özniteliğini DataMemberAttribute özel alanlara uygulayarak verilerin başkalarına açık olmasını sağlayabilirsiniz. Üyenin hassas veriler içermediğinden emin olun.

Örnek

Aşağıdaki örnekte, sınıfına ve üyelerine ve DataMemberAttribute özniteliklerini uygulayarak DataContractAttribute tür için Person bir veri sözleşmesi oluşturma gösterilmektedir.

using System;
using System.Runtime.Serialization;

[DataContract]
public class Person
{
    // This member is serialized.
    [DataMember]
    internal string FullName;

    // This is serialized even though it is private.
    [DataMember]
    private int Age;

    // This is not serialized because the DataMemberAttribute
    // has not been applied.
    private string MailingAddress;

    // This is not serialized, but the property is.
    private string telephoneNumberValue;

    [DataMember]
    public string TelephoneNumber
    {
        get { return telephoneNumberValue; }
        set { telephoneNumberValue = value; }
    }
}
<DataContract()> _
Public Class Person
    ' This member is serialized.
    <DataMember()> _
    Friend FullName As String

    ' This is serialized even though it is private.
    <DataMember()> _
    Private Age As Integer

    ' This is not serialized because the DataMemberAttribute 
    ' has not been applied.
    Private MailingAddress As String

    ' This is not serialized, but the property is.
    Private telephoneNumberValue As String

    <DataMember()> _
    Public Property TelephoneNumber() As String
        Get
            Return telephoneNumberValue
        End Get
        Set
            telephoneNumberValue = value
        End Set
    End Property
End Class

Ayrıca bkz.