31 Ağustos 2017 Perşembe

Event Kavramını Anlatırken Aldığım Birkaç Not


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ırla­mak gerekir. C# uygu­laması dahilinde gerçekleşen olayları, Windows’la ilgili olaylar ile karıştır­mamak 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: