Aracılığıyla paylaş


Alanları (C# Programlama Kılavuzu)

A alan doğrudan bildirilen her tür değişken olan bir sınıfı veya Yapı.Alanlar üyeleri içeren kendi türü.

Bir sınıf veya yapı birimi oluşum alanlarına, static alanlar veya her ikisini de olabilir.Örnek alanlar bir türünün bir örneği için özeldir.f örnek alanı olan bir sınıf t, varsa, iki nesne türü t oluşturun ve f değeri her nesne içinde nesne değeri etkilemeden değiştirebilirsiniz.Bunun tersine, bir static alan sınıfına aittir ve bu sınıfın tüm örnekleri arasında paylaşılır.Alan erişirseniz ölçeklendirirseniz hemen için b ve c örneklerinden örneğinden yapılan değişiklikler.

Genellikle, yalnızca özel veya korumalı erişilebilirlik sahip değişkenleri alanları kullanmalısınız.İstemci kodu sınıfınızın sergiler veri üzerinden sağlanmalı yöntemleri, özelliklerini ve Dizinleyicileri.Dolaylı erişim iç alanlar için bu yapıları kullanarak geçersiz giriş değerleri karşı önleyebilirsiniz.Ortak özelliği tarafından sağlanan veriler saklayan bir özel alan adı verilen bir yedekleme deposu veya alan yedekleme.

Alanlar genellikle birden fazla sınıf yöntemi için erişilebilir olmalı ve tek bir yöntem kullanım ömrü daha uzun süre depolanmalıdır verileri depolar.Örneğin, bir takvim tarihi temsil eden bir sınıf üç tamsayı alanlarına sahip olabilir: bir ayı, günü için ve bir yıl için.Tek bir yöntem kapsamı dışında kullanılmayan değişkenleri olarak bildirilebilir yerel değişkenleri yöntemi içinde kendisini body.

Alanları, alan adından alan türünü ve ardından alan erişim düzeyini belirleyerek sınıf bloğunda bildirilir.Örne?in:

public class CalendarEntry
{
    // private field
    private DateTime date;

    // public field (Generally not recommended.)
    public string day;

    // Public property exposes date field safely.
    public DateTime Date 
    {
        get 
        {
            return date;
        }
        set 
        {
            // Set some reasonable boundaries for likely birth dates.
            if (value.Year > 1900 && value.Year <= DateTime.Today.Year)
            {
                date = value;
            }
            else
                throw new ArgumentOutOfRangeException();
        }

    }

    // Public method also exposes date field safely.
    // Example call: birthday.SetDate("1975, 6, 30");
    public void SetDate(string dateString)
    {
        DateTime dt = Convert.ToDateTime(dateString);

        // Set some reasonable boundaries for likely birth dates.
        if (dt.Year > 1900 && dt.Year <= DateTime.Today.Year)
        {
            date = dt;
        }
        else
            throw new ArgumentOutOfRangeException();
    }

    public TimeSpan GetTimeSpan(string dateString)
    {
        DateTime dt = Convert.ToDateTime(dateString);

        if (dt != null && dt.Ticks < date.Ticks)
        {
            return date - dt;
        }
        else
            throw new ArgumentOutOfRangeException();  

    }
}

Bir nesne alanına erişmek için alan gibi adıyla nesne adından sonra bir nokta ekleme objectname.fieldname.Örne?in:

CalendarEntry birthday = new CalendarEntry();
birthday.day = "Saturday";

Bir alanı bir başlangıç değeri alanı bildirildiğinde, atama işleci kullanılarak verilebilir.Otomatik olarak atamak için day alanını "Monday", örneğin, bildirirsiniz day aşağıdaki örnekte olduğu gibi:

public class CalendarDateWithInitialization
{
    public string day = "Monday";
    //...
}

Nesne örneği için kurucu çağrıldıktan hemen önce alanları başlatılır.Yapıcı bir alanın değerini atar çift duyarlýklý sırasında verilen herhangi bir değer geçersiz kılınır.Daha fazla bilgi için bkz. Kurucular (C# Programlama Kılavuzu) kullanma.

[!NOT]

Alan başlatıcısında diğer oluşum alanlarına erişimi başvuruda bulunamaz.

Alanları olarak işaretlenir ortak, özel, Korunan, , veya protected internal.Bu erişim değiştiricileri sınıfının kullanıcıların alanları nasıl erişebileceğiniz tanımlayın.Daha fazla bilgi için bkz. Erişim değiştiricileri (C# Programlama Kılavuzu).

Bir alanı isteğe bağlı olarak bildirilmesi statik.Sınıf örneği bulunsa bile, bu alanda herhangi bir zamanda Arayanlara kullanılabilmesini sağlar.Daha fazla bilgi için bkz. Statik sınıflar ve statik sınıf üyelerini (C# Programlama Kılavuzu).

Bir alanın bildirilmiş salt okunur.Salt okunur alana Oluşturucu başlatma sırasında veya bir değer yalnızca atanabilir.A staticreadonly alan C# derleyicisi yalnızca çalışma zamanında derleme zamanında erişimi statik salt okunur alanının değeri yok dışında bir sabiti için çok benzer.Daha fazla bilgi için bkz. Sabitler (C# Programlama Kılavuzu).

C# dil belirtiminin

Daha fazla bilgi için bkz: C# dil belirtiminin. Dil belirtimi, C# sözdizimi ve kullanımı için nihai kaynaktır.

Ayrıca bkz.

Başvuru

Sınıflar ve yapılar (C# Programlama Kılavuzu)

Kurucular (C# Programlama Kılavuzu) kullanma

Kalıtım (C# Programlama Kılavuzu)

Erişim değiştiricileri (C# Programlama Kılavuzu)

Soyut ve mühürlenmiş sınıflar ve sınıf üyesi (C# Programlama Kılavuzu)

Kavramlar

C# Programlama Kılavuzu