Eyl 05
Olaylar(Events)
Olaylar, mouse ile tıklama, klavyeden tuşa basma gibi kullanıcının işletim sistemi üzerinden gerçekleştirdiği faaliyetlerdir. Bu şekilde, uygulamamız içerisinde meydana gelen durum değişikliklerine karşı hassas olan ve bu değişiklikler doğrultusunda yönlendirilebilen programlama modeline olay güdümlü programlama (event driven programming) denir. Bu modeldeki programlar, bir şeyler yapmak için bazı şeylerin gerçekleşmesini beklerler. Bir bileşen üzerinde meydana gelen olayların takipçisi olup onları yakalayan mekanizmaya olay yöneticisi (event handler) denir. Olay tutucusu veya işleyicisi olarak ta tanımlanan event handler, ilgili olay gerçekleştiği zaman tetiklenir. Olay yöneticilerinin yönlendirilmesi bizim tarafımızda kodlanır, olay yöneticisinin olay gerçekleştikten sonra hangi işlemleri yapacağını delegatelerle tanımlarız. Yani olay yöneticileri, delegatelerle temsil edilir. Read the rest of this entry »
Eyl 03
Değişkenler gibi metodlar da bellek üzerinde özel bir alanda yaşar. Değişken pointerleri gibi metodların başlangıç adresini işaret eden pointerler bulunur. Bunlara metod işaretçileri (function pointers) denilir. İstenirse metodlar, hafıza üzerinden sadece isimleriyle değil bu pointerler sayesinde de çağrılabilir. C veya C++’da bu yöntem yoğun olarak kullanılmaktaydı. .NET’in eskiden alışagelmiş unmanaged pointer desteği C# ile sınırlıdır. VB.NET, bu destekten yoksundur. Fakat desteklediği pointer yapısı CLS ile uyumlu olmadığı için tür güvenliği sunmaz. Bu yüzden .NET, fonksiyon işaretçileriyle aynı amaca sahip tür güvenliği sağlayan delege (delegate) isimli işaretçiler sunar. Read the rest of this entry »
Ağu 19
Application.Exception class’ını kullanarak kendimiz istisnai durumlar yaratabiliriz. Böylece bizim belirlediğimiz koşullarda da istisnai durum oluşmuş olur. Read the rest of this entry »
Ağu 15
Önceki yazıda, bir sınıfın statik üyelerine erişmek için o sınıftan bir nesne oluşturmamıza gerek kalmadığını doğrudan sınıfın adını kullanarak erişebileceğimizi hatta bu üyelere, oluşturulmuş bir instance üzerinden erişilemeyeğini söylemiştik. İçerisinde sadece statik üye içeren bir sınıfı ele aldığımızda hiç bir zaman bu sınıftan türemiş bir nesneye ihtiyacımızın olmayacağını söyleyebiliriz ama bu durum, bu sınıftan instance oluşturamayacağımız anlamına gelmemektedir. Read the rest of this entry »
Ağu 13
.NET Framework’ta nesneler, statik(static) veya statik olmayan(non-static) üyelerden oluşur. Statik olmayan üyeler, class’tan türetilmiş nesnenin üyeleridir, sınıftan kaç nesne türetilmişse bu üyelerin o kadar kopyası bulunur, bir nesneye ait üyenin değerinin değişmesi, o üyenin diğer nesnelerdeki değerini etkilemez. Statik üyeler ise, doğrudan class’ın kendi üyeleri olup class’tan üretilen nesneden bağımsız hareket ederler. Tüm nesnelerin ulaşabileceği ortak bir bellek alanında tutulur. Bu nedenle statik üyelere erişmek için class’tan bir nesne oluşturmaya gerek yoktur. Bu da statik üyelerle işlem yapmayı hızlandırır. Bütün statik üyeler, değer veya referans türü olup olmamasına bakılmaksızın hafızanın heap alanı üzerinde depolanır. Bu heap alanına 8 byte’lık bir pointer işaret eder. Kaç tane instance’in yaratıldığı önemli olmayıp her zaman tek bir hafıza slotu varlık gösterir. Read the rest of this entry »
Ağu 11
C# 2.0 ile birlikte gelmiş olup iterasyon işlemlerini daha kısa ifadelerle oluşturmayı sağlar. Foreach() metodu gibi IEnumerable türündeki bir metodun foreach yöntemiyle hangi değerleri döndüreceği, yield anahtar sözcüğüyle belirlenir. Böylece her iterasyon için farklı bir değer gönderme imkanına sahibiz. Yield sözcüğü, “return” veya “break” ifadesiyle birlikte kullanılır. “return” ifadesi, geriye değer döndürmesini, “break” ifadesi ise o adım için iterasyon yapmamasını sağlar. Read the rest of this entry »
Ağu 07
2.0’dan önceki C# sürümlerinde bir delegate’i tanımlamak için daha önce tanımlanmış bir metod(named method) kullanmak gerekirdi. C# 2.0 ile birlikte C++’taki inline metodlar gibi isimli metod zorunluluğu ortadan kaldırılmış olup isimsiz metod da kullanılma imkanı sunulmaktadır. Anonymous Method sayesinde bir kod bloğunu, delegate tanımlamasında parametre olarak geçebileceğiz. Delegate çalıştığı zaman kendisine parametre olarak geçilmiş kod bloğunu çalıştırır. Read the rest of this entry »
Ağu 02
“Kürk Mantolu Madonna” kitabı, edebiyat tarihimizde önemli yeri olan hayatı hüzünle yoğrulmuş Sabahattin Ali’nin 1943 yılında yazdığı “bir hüzünlü aşk öyküsü”dür. Romanın baş karakterleri Maria Puder ve Raif Efendi’dir. Öykü yalnızca bir aşk öyküsü olmaktan öte, hayatın gerçekçiliğini dile getiren, aşkın olanaksızlığını sorgulayan, insanların görünmeyen yüzlerini ortaya çıkaran, okuyucuyu çoğu yerde Raif’le aynı duygulara boğan bir psikoloji kitabıdır. “Aşk dağıldıkça azalan birşey değildir.” ifadesiyle günümüzde aşk dahil her şeye rakamlarla yaklaşan ve onlara biçtiği kısıtlı ömür geldiği zaman hayatından hemen çıkaran modern insana kaybettiği şeyleri hatırlamasını ve kaybetme karşısındaki duyarsızlığını adeta yüzüne çarpmaktadır. Read the rest of this entry »
Haz 30
ADO.NET 2.0 ile gelen yeniliklerden biri olan System.Data.LoadOption numaralandırıcısı, veri kaynağından alınmış kayıtların, Load() veya Fill() metodu kullanılarak var olan ve üzerinde primary key tanımlı veri tablosuna yüklenirken aynı kayıtlara rastlanıldığında nasıl davranılacağını belirtir. Değer olarak aşağıdaki seçeneklerden birini alır.

Read the rest of this entry »
Haz 30
DataTable, DataSet, DataRow gibi nesnelerdeki satırların durumu hakkında bilgi almak herhangi bir güncelleme olmuşsa hangi aşamada olduğunu öğrenmek için System.Data.DataRowState ve System.Data.DataRowVersion kavramları kullanılır. Read the rest of this entry »
Recent Comments