Windows Servis yazmanız gerekirse şu kaynaklar faydalı olacaktır. Bir ara inşallah bir yazı yazabilirim. Kaynaklar: Visual Studio Programmer`s Guide for the .NET Framework: Windows Service Applications http://msdn.microsoft.com/en-us/library/y817hyb6(VS.80).aspx Windows Services: New Base Classes in .NET Make Writing a Windows Service Easy http://msdn.microsoft.com/msdnmag/issues/01/12/NETServ/ Writing a Useful Windows Service in .NET in Five Minutes http://blogs.msdn.com/bclteam/archive/2005/03/15/396428.aspx How Do I…Write […]
Gömülü Web Kaynakları (Embedded Web Resources)
Oluşturduğumuz web kontrollerinin ihtiyaç duyduğu script, stil dosyası, imajlar gibi dosyaları assembly içine gömerek kontrol ile birlikte kolayca dağıtılmasını sağlayabiliriz. Bu durum dağıtım avantajının yanında bant genişliği ile ilgili bir dezavantajı beraberinde getirmektedir. Web kaynağı olarak assembly içine gömdüğümüz her dosya sunucuya yapılan her istekte tekrar tekrar sunucudan yüklenecek ve gereksiz yere bant genişliğini işgal […]
Kendi Sunucu Kontrollerimizi Oluşturmak
Bazı durumlarda kendine has HTML kodları üreten kontrollere ihtiyaç duyabiliriz. Bunun için mevcut kontrollerden veya mevcut kontrollerin miras yoluyla türetildiği webcontrol (System.Web.UI.WebControls.WebControl) sınıfından kendi kontrollerimiz türetme yoluna gidebiliriz. Bu işleme başlamak için öncelikle bir sınıf kütüphanesi projesine ihtiyacımız var. Bu projemizin adı "MyControl" olsun. Sonraki adımda kontrolümüzün adını taşımasını istediğimiz bir sınıf dosyasını projemize eklememiz […]
Çok Biçimlilik (Polymorphism)
Miras (Inheritance) kavramının iki önemli boyutu vardır. Bunlardan birincisi kodun tekrar kullanımıdır. Bir sınıftan türetilen bir sınıf oluşturduğunuzda taban sınıfın mantığının bir kısmını kullanabilirsiniz… Mirasın ikinci önemli boyutu ise çok biçimliliktir. Çok biçimlilik bir tipin birden fazla formunun olması demektir. Böylece tipin detaylarına bakmadan birden fazla biçiminin kullanılabilmesidir. Konuyu açmamız gerekirse şu klasik bir örnek verilebilir. […]
Erişim Değiştiricileri (Access Modifiers) anlamak
Erişim değiştiricilerin amacını anlamak kelime anlamlarından fazlasını anlamayı gerektirir… public: olarak işaretlenen sınıf üyesine diğer sınıfların üye metodları erişebilir. private: olarak işaretlenen sınıf üyesi sadece üyesi olduğu sınıf üye metodlarına görünür. protected: olarak işaretlenen sınıfı üyesinin görünürlüğü üyesi olduğu sınıftan türetilmiş sınıfların üye metodlarına genişletilir. Klavyeleriniz şen ola…
Volatile Anahtar Kelimesi
Volatile anahtar kelimesi ile bir alanın peş peşe çalışan iş parçacıkları (thread) tarafından değiştirilebileceği belirtilir. Volatile tanımlanan alanlar, sadece tek bir iş parçacığının eriştiğini kabul eden derleyici iyileştirmelerinden (compiler optimizations) hariç tutulurlar. Volatile kelimesi çoklu iş parçacıkları tarafından lock ifadesi kullanılmadan erişilecek alanlara erişimi serileştirmek, sıraya sokmak (serialize) için kullanılır… 1 using System; 2 using System.Collections.Generic; 3 using […]
Dizi Yeniden Boyutlandırma
Dizileri boyutlarını dinamik olarak değiştirek bir metod yoktur. Ama aşağıdakine benzer bir metod ile bu ihtiyacınızı karşılayabilirsiniz. Mantık basit. Yeni boyutta bir dizi oluştur, eski dizi içeriğini buraya aktar… Basit bir konsol uygulamasında örnek vermek gerekirse. 1 public static System.Array ResizeArray(System.Array oldArray, int newSize) 2 { 3 int oldSize = oldArray.Length; 4 System.Type elementType = oldArray.GetType().GetElementType(); 5 […]
FOR ve FOREACH Döngülerinin Kullanımı
Belirli bir sayıda tekrarlanan bir işlemi gerçekleştirmek döngülere başvurmamız gerekir. Örneğin bir DataTable içinde yer alan kayıtlar üzerinde bir işlem yürütmek istediğinizde FOR döngüsü ile bu amacınıza ulaşabilirsiniz. FOR döngüsünde önemli olan döngünün kaç kez tekrarlanacağını belirtmektir. Bu döngü kurarak üzerinde işlem yapmak istediğiniz dizinin ya da koleksiyonun eleman sayını bilmek gerekecektir. 1 DataTable dt = […]
Kodunuzu Anlaşılır kılma ve yazacağınız bilgi satırları ile Yardım dosyası oluşturma
Kodunuzu daha okunaklı kılmak için öncelike yapmanız gereken kod bloklarınızdan önce /// (üç bölü) yazmanız ve visual studio 2005 editörünün sizin için oluşturacağı bölümleri doldurmak. /// <summary> /// Bu sınıf Kişi verisi ve bu veri üzerinde yapılacak işlemleri içerir. /// </summary> Böylece ilgili kodunuz (class, method, vb.) kullanırken Visual Studio 2005 Editörü geliştirmeyi yapan kişiye […]
C# OOP Terminolojisi
Erişim Değiştirici (Access Modifier) : Bir tipe veya tipin üyelerine erişimi sınırlayan private, protected, internal, public gibi kelimelerdir. Erişilebilir Üye (Accessible Member) : Verilen tip tarafından ulaşılabilen üyedir. Bir tip ile erişilebilen bir üye başka bir üye tarafından erişilebilir olmayabilir. Erişimci (Accessor) : Bir özellik (Property) ile ilişkilendirilmiş Özel (private) veri alanı (data field) üyenin […]