C# Opsiyonel Parametre Kullanımı

Eylül 29, 2011

Merhaba bu yazımda c# ile opsiyonel parametrelerin nasıl kullanıldığını anlatmaya çalışacağım. Opsiyonel parametre kavramı c#.Net 4.0 ile gelmiştir daha önceki sürümlerinde bulunmamaktadır.Opsiyonel parametreleri method yazarken kullanırız.Yazdıgımız method’ların alacakları parametreleri önceden belirleriz ve o method’u kullanmak istediğimizde bu parametreleri kesin göndeririz herhangi bir parametreyi eksik gönderirsek derleme hatası alırız.İşte tamda burada opsiyonel parametre kavramı yardımımıza koşuyor.Yazdıgınız method ‘ larda kesin olarak göndermeyeceğiniz parametrelerin siz göndermeseniz bile default değeri olmasını isteyebilirsiniz bu durumda o parametreyi opsiyonel yapabilirsiniz ve bir default değer atarsınız daha sonra bu method’u kullanmak istediğinizde sizden o parametreyi isteyecektir ama göndermeyedebilirsiniz eger o opsiyonel yaptıgınız parametreye deger göndermezseniz default verdiğiniz degeri alacaktır bu şekilde derleme hatası almadan method ‘ larınızı daha yararlı hale getirebilirsiniz.

 

Tam olarak hem kod yazmamızı ciddi anlamda hızladırır hemde temiz kod yazmamızı saglar.Şimdi küçük bir örnek üzerinde inceleyelim.Örneğimizde bir personelin maaşına zam yapılmak istenmektedir bu zam yapıldıktan sonra burası önemli  istenirse bu veriler saklanacaktır istenmezse saklanmayacaktır.Böyle bir durumda 2 method yazılması gerekebilirdi aynı işlemi yapan ama fark olarak sadece 1. method yaptıgı işlemi kaydetmiyor olacaktı 2. method ise yaptıgı işlemi xml formatında kaydediyor olacaktı.Şimdi bu işlemi tek method ve opiyonel parametre kullanarak nasıl yaparız bakalım.Uygulamamızda verilerimizi .xml dosyasına serileştirilerek yazacagımız için System.Xml sınıfını referanslara ekliyoruz. 

 

 

Using kısmına gerekli sınıflarımızı ekleyelim.

 

 

Gerekli sınıflarımızı ekledikten sonra win. formumuzun Load eventinde kodlarımızı yazıyoruz.

 

 

Örnek bilgi tutabilmek için Hashtable oluşturuyoruz burada personel adını ve maaş bilgilerini tutuyoruz.Alt kısımda gördüğünüz gibi  ZamYap methodumuzu çalıştırıyoruz şimdi ZamYap method ‘ umuzu yazalım.

 

 

ZamYap method ‘ umuz parametre olarak Hashtable , Çalışan Adı , Zam Yüzdesi  ve bool değer olarak yapılan zammın kaydedilip kaydedilmeyecegi bilgisini alıyor burada dikkat etmemiz gereken nokta ise method ‘ umuza parametre gönderirken parametrelere default deger atayabileceğimizdir biz method ‘ umuzda zam yüzdesini ve kaydet parametrelerimize default degerlerini atıyoruz.Bu şu anlama gelmektedir eğer method’ umuza yüzde ve kaydet parametreleri göndermesek method’umuz yinede  çalışacaktır.Bunun sebebi 2 parametremizede default deger atamamızdır.Opsiyonel parametre oluştururken dikkat etmemiz gereken opsiyonel parametrelerin en son kısımda bulunmasıdır. Opsiyonel parametre oluşturdugumuz method ları kullanırken ismini yazıp ( açtıgımız zaman  şu şekilde bir görünümle karşılaşırız.

 

 

Gördüğünüz gibi opsiyonel parametre olarak ayarladığımız parametreler  [ ] işaretleri içinde bunun anlamı bu parametrelerin default değerlerinin oldugudur ve deger göndermeseniz bile default degerleri ile method hata vermeden çalışacaktır .Bu şekilde programı çalıştırdıgımız zaman kaydet parametremizin default değeri false oldugu için yapılan işlemi method kaydetmeyecektir ama kaydet parametremize true degerini gönderirsek method ‘ umuz yapılan işlemi xml olarak kaydedicektir.

 

 

Burada tek değiştirdigimiz kısım ZamYap method’umuzda opsiyonel olarak parametre bekleyen kaydet parametremize true değerini  :true  diyerek atıyoruz.Şu anda kodumuza breakPoint koyup takip edersek if kontrolünden geçip yapılan işlemi array list’imize aktardıktan sonra xml olarak serileştirip programın kaynak dosyalarının bulunduğu kısma kaydedicektir.Serileştirme konusuna bu yazımda değinmiyorum ama bir sonraki yazım serileştirme işlemleri ile ilgili olacaktır. Oluşan xml dosyamızı açarsak şu şekilde bir yapı ile karşılaşırız

 

 

ZamYap method ‘ umuz çalıştı ve kaydet olarak true değeri gönderdiğimiz için xml dosyasını oluşturdu ve verileri kaydetti. Personel adı Gökhan olan çalışanın 2000 lira olan maaşına %10 zam yaparak 2200 lira olarak değiştirdi.

 

 

Kaynak Kodları Buradan İndirebilirsiniz

 

 

 

 

posted in C# by gokhan

Follow comments via the RSS Feed | Yorum yapın | Trackback URL

Leave Your Comment

*

 
Powered by Wordpress and MySQL. Theme by Shlomi Noach, openark.org