-- C#, İpucu

Debugger – DebuggerDisplayAttribute / DebuggerDisplay Özniteliği

Büyük projelere girmeden önce Debug modun önemi pek anlaşılamayabiliyor. Karmaşık mimarilerde işin içinden çıkabilmenin adıdır Debug!

Ancak her alanda olduğu gibi Debug işlemininde derinlemesine incelenmesi gerekiyor. Genel olarak çoğu özelliğinden faydalanamayacak kadar bilgisiz görüyorum kendimi. Bu makalemde de Debug işlemleri sırasında işimize yarayacak bir özellikten bahsederek bilgisizliğimizi bir nebze azaltmaya çalışacağım. 🙂

Her örnekte olduğu gibi yeni bir konsol projesi açıp Kullanici sınıfı oluşturacağım.

public class Kullanici
{
   public string Ad;
   public string Soyad;
   public string Email;
   public int Yas;
}

Şimdi bu sınıfımızın bir nesne örneğini oluşturarak değer atayalım.

Kullanici kullanici = new Kullanici();
kullanici.Ad = "Cihan";
kullanici.Soyad = "Özhan";
kullanici.Email = "cihan.ozhan@hotmail.com";
kullanici.Yas = 26;

Şimdi ise çalıştırıp Debug modda iken kullanıcı sınıfını inceleyeceğiz.

1

Debug modda iken kullanici isimli nesne örneği üzerine gelince gördüğünüz gibi CSharpSamples.Kullanici şeklinde sınıfın namespace ve adını görüyoruz. Bu görünüm aslında pek işe yaramıyor. Asıl işe yarayacak işlem hemen solda bulunan ok simgesine tıkladıktan sonra açılacak alt pencere olacaktır.

2

Evet, sınıf içerisindeki veriyi artık görebiliyoruz. Dikkat ederseniz Debug modda iken henüz Yas isimli Property’nin değer ataması yapılmadığı için 0 değerini tutmaktadır. Bu da bir farkındalık oluşturmak için dursun. 🙂

Peki biz ne yapacağız?

Biz DebuggerDisplayAttribute özniteliğini kullanarak bu işi daha kolay hale getirmeye çalışacağız. Örneğin istediğimiz bilgiyi doğrudan sınıf üzerine mouse ile gelince ilk açılan tooltip’te göstersin.

Oluşturduğumuz sınıfın hemen üzerine bu özniteliği tanımlayarak devam edelim.

[DebuggerDisplayAttribute("Ad:{Ad} Soyad:{Soyad} Email:{Email}")]
public class Kullanici
{
   public string Ad;
   public string Soyad;
   public string Email;
   public int Yas;
}

DebuggerDisplayAttribute özniteliğini kullanabilmek için System.Diagnostics namespace’inin eklenmesi gerekiyor.

using System.Diagnostics;

Projeyi çalıştırıp sonucu görelim.

3

Şimdi daha etkileyici ve efektif olduğunu düşünüyorum. 🙂

Aynı özniteliği aşağıdaki şekilde de kullanabilirsiniz. Ki daha da iyi olabilir.

[DebuggerDisplay("Ad:{Ad} Soyad:{Soyad} Email:{Email}")]

MSDN Referans : http://msdn.microsoft.com/en-us/library/x810d419.aspx

İyi Çalışmalar.
Cihan Özhan

Yorumla

Yorum

  • İçerik ile ilgili etiketler