En başta Windows’un “mesajlar” ile işlem yapan bir
işletim sistemi olduğunu ve kullanıcının yaptığı işlemlere göre ilgili
uygulamaya mesajlar gönderdiğini hatırlamak gerekir. C# uygulaması dahilinde
gerçekleşen olayları, Windows’la ilgili olaylar ile karıştırmamak gerekir.
Kullanıcının klavye ve fare ile yaptığı işlemleri temsil eden mesajları Windows
uygulamaya gönderir. C# uygulaması bu mesajları alıp delegate’ler aracılığı ile
ilgili metotları işletir.
Olayların zor anlaşılmasının en önemli nedeni bizce
şudur:
* C# ve .NET
programcılığı konusunda yolun başında olan birisine forma yerleştirilen “button1”
nesnesinin Click olayının nasıl kullanıldığı, Click olayını temsil eden metodun
nasıl hazırlandığı anlatılır.
* Okurumuz veya programcı adayımız bunları
okuduktan sonra kafasında olaylar ilk gördüğü şekliyle netleşir. Programcı
adayı için artık olay demek Properties
penceresinde Button veya başka bir sınıfın olaylarını listeleyip olayın adı
üzerinde çift tıklayıp Visual Studio’nun metot hazırlaması ve bu metodun içine bir
şeyler yazmasıdır.
*Programcı adayımız veya okurumuz Delegate kavramı
hakkında henüz yeteri bilgiye sahip olmadan .NET Framework ile hazır olarak
gelen bir delegate olan EventHandler’ı
kullanmayı bir güzel öğrenir.
* Başka bir deyişle C# kitabı okuyanlar, C# ve .NET
programcılığını öğrenmek üzere kursa gidenler event anahtar kelimesini hiç kullanmadan deneysel de olsa
programlar yazarlar. Bu şartlarda programcı adayının
için event kavramı diye sorunu henüz yoktur.
* Derken programcının önüne “event” anahtar
kelimesini çıkarırız. Tabi event anahtar kelimesiyle ilgili olarak söylenenler
eski öğrendikleriyle hiç alakalı değildir.
* Bu şartlarda event kavramı C# dilinin en zor
anlaşılan konularından birisi olur çıkar.
Hiç yorum yok:
Yorum Gönder