Skip Navigation LinksAnasayfa > Etiketler
Enumeration kullanımı ve kolaylıklar Enumeration (numaralama), programlar içinde oluşturduğumuz değerlere anlamlı isimler vermemizi sağlayan faydalı bir yapıdır. Yazılan kodu anlaşılır kılar ve programcıya büyük kolaylık sağlar.

C# dilinde enumeration tanımlamak aşağıdaki gibidir :

// kullanıcı işlemleri metotlarından dönen sonuç tipleri
public enum UserProcessResult
{
UserCreated = 0, // kullanıcı başarıyla oluşturuldu.
UserCouldntCreate = 1, // işlem sonucu hata oluştu. Kullanıcı oluşturulmadı.
IncompleteData = 2, // kullanıcı oluşturmak için zorunlu olan alanlar eksik.
InvalidData = 3, // hatalı veri. (Geçersiz email adresi vs.)
UserNotFound = 4 // sistemde aranan kullanıcı mevcut değil.
}



Bu örnekte sistemde yer alan bir kullanıcı üzerinde yapılabilecek işlemlerin sonuçları UserProcessResult yapısı içinde tutulmaktadır. Böylece kullanıcı üzerinde işlem yapan veri katmanında dönen sonuçlar ile tanımladığımız yapı kıyaslanarak işlemlere yön verilebilir.

Yine kodla açıklarsak :

// Bir üyelik formu doldurduğunu ve üye olmak istediğini varsayalım.
// kullanıcıdan form bilgileri alınır ve sisteme kaydedilir.
// CreateUser kullanıcı yaratan metodumuz olsun.

int result; // işlem sonucunu tutmak için değişken

result = CreateUser(username,password, useremail);

switch (result)
{
case (int)UserProcessResult.UserCreated :
// işlem başarılı :)
Response.Redirect("/yasasinislembasarili.aspx",true);
break;

case (int)UserProcessResult.IncompleteData :
lblMessage.Text = "Eksik bilgi girdiniz. Lütfen tüm zorunlu alanları doldurun ve tekrar deneyin.";
PanelErrorLog.Visible = true;
break;

case (int)UserProcessResult.UserCouldntCreate:
lblMessage.Text = "İşlem esnasında bir hata oluştu ve bilgileriniz kaydedilmedi. Lütfen tekrar deneyin.";
PanelErrorLog.Visible = true;
break;
}


Gördüğünüz gibi anlamlı kod parçacıkları üretmek için enumeration büyük kolaylık sağlamaktadır.

Bu arada enumerationların tanımlanırken herhangi bir değer atanmadan da tanımlanabileceğini belirteyim. Aşağıdaki ifade de geçerli bir tanımlamadır ve değerler otomatik olarak sıfırdan başlayarak atanır. Bu şekilde enumeration tanımlanması kod içinde karmaşıklığa yol açağı için mutlaka ve mutlaka kendi tanımladığınız değerleri atayarak tanımlama yapmanızı öneriyorum.

public enum UserProcessResult
{
UserCreated,
UserCouldntCreate,
IncompleteData,
InvalidData,
UserNotFound
}


Enumeration'ları public olarak tanımlayıp static bir class'ın içine koyarsanız tüm projeniz kapsamında paylaşabilir ve kolaylıkla kullanabilirsiniz.

Eklenme Zamanı6/26/2007 3:12 PM   Yorum EkleYorumlar (1)   EtiketlerEtiketler : c# , enumeration