Merhaba arkadaşlar,
Bu makalemizde sizlerle c# ile metot kavramını inceliyor olacağız.
İlk olarak metot ne işe yarar gibi temel bir bilgi ile başlayalım.
Bir program yazarken bir kod bloğunu birden fazla yerde kullanmanız gerekebilir. Bu gibi durumlarda farklı yerlerde aynı kod bloklarını kullanmak ilk bakışta bir çözüm gibi dursada pek mantıklı olmadığını, kod bloğunda birkaç değişiklik yapmanız gerektiğinde anlıyorsunuz
Varsayalım ki programınızı yazarken aynı kod bloğunu 20 farklı yerde kullandınız ve bir hata yaptığınızı farkettiniz. Bu gibi bir durumda geçmiş olsun diyerek kod bloğunu kullandığınız 20 yerde o değişikliği uygulamak zorunda kaldığınızı hatırlatmam gerekir. Halbuki adı metod olan bir özellik olsa! Aynı kod bloklarını tekrar tekrar yazmak yerine 1 defa yazsak ve kullanmak istediğimizde basit bir şekilde metodumuzu çağırsak ne güzel olur değil mi ?

Elbetteki güzel olurdu. Hemde çok güzel olurdu –ki aslında adı metot olan bir özellik zaten mevcut
Bu yolu kullanarak kod bloğunu 1 defa yazıyorsunuz ve sonrasında o kod bloğuna ihtiyacınız olduğu her yerde metodu kullanıyorsunuz.

C# ile kodlama yapıyorsanız aslında metotları ister istemez bir çok yerde görüyor olabiliriz. Örneğin windows uygulaması yazmaya başlayanların en çok kullandığı metodlardan biri MessageBox.Show() ‘dur. Show() dediğimizde bir metot kullanmayız ve bu metot kod bloğu çalıştığında karşımıza bir uyarı penceresi çıkmasını sağlar.
MessageBox.Show yazarak parantez açtığımızda karşımıza çıkan senaryoyu incelememiz gerekirse;
1 numaralı bölüm metodumuzun aynı isimli ama farklı parametre değerleri alarak çalışan metotlara sahip olduğunu gösteri. Bunu ilerlerde zaten anlatacağım.
2 numaralı bölüm metodumuz kullanıldığında bize geri döndüreceği tipi göstermekte.
3 numaralı bölüm ise metodumuzun bizden bektediği tipteki değişkeni belirlemekte.
Yukarıda gösterdiğim 3 bölümüde kendi metotlarımızı yazarken detaylı bir şekilde gösteriyor olacağım. Metot kavramını daha iyi anlayabilmek için çoğu ihtimali göz önüne alarak bir kaç örnek metod yazarak devam edelim.
KENDİ METOTLARIMIZI YAZMAK
Kendi metodunuzu yazabilmek için gerekli malzemeler arasında Visual Studio, azıcık c# bilgisi

Metotlar class denilen yani sınıfları temsil eden yapılar içerisinde barınır. Bu demek oluyor ki biz eğerki bir metot yazmak istiyorsak varolan bir class içerisine yazmak zorundayız.
Yukarıdaki senaryoda adı KendiMetodum olan çok basit bir metot örneği yer almakta. Yalnız bu tanımlama sırasında bizlere yabancı bir kaç farklı kod daha görüyoruz ve bunlardan bahsetmem gerekirse;
Public : Erişim denetleyici denilen, yazılan metodun nasıl davranması gerektiğini belirleyeceğiniz özelliklerden biri olan public, bu metodun her yerden ulaşılabilir olduğunu temsil eder!
Void : Void, bir metodun işlemler yapıldıktan sonra geriye bir değer döndürmeyeceğiniz gösterir. Hatırlarsanız MessageBox.Show metodunu kullandığımızda bizlere DialogResult türünden bir değer döndürebiliyordu!
En basit şekilde Metot yazılımı gördükte bunu ne yapacağız nasıl kullanacağız derseniz;
Yukarıda yazdığımız metodu formumuz açılırken çağırıyoruz ve içerisinde yazan kodların çalışmasını sağlıyoruz. Formu çalıştırdığımızda bir adet MessageBox ile karşılaşırız.
Peki metodumuz her zaman bir işlemi yapmak ve geriye birşey beklememek olurmu ? Olmaz tabiki

METOTLARA DEĞİŞKENLER GÖNDERME
Bir metodun sadece kullan ve arka planda işlemleri yaparak devam et mantığı yetmeyebiliyor. Bir metodun işlem yapabilmesi için bizden birkaç değişken beklediği ve o değişkene göre işlem yapabildiği senaryolarda kurgulayabilmemiz mümkün.
Örneğin az önceki örneğimizde MessageBox çalıştığında bizim belirlediğimiz yazı yazsa metodumuz daha kullanışlı olurmu? Bence olur

Yukarıdaki senaryoda metodumuzun bizden bir adet değişken beklemesini sağlayabilmek için KendiMetodum yazdıktan sonra parantez içine “string gelenParametre” yazdık. Bu şu anlama gelir;
Metodumuz bizden bir adet string türünden bir değişken bekleyecek. Peki bunun varlığını nasıl ispatlarız?
Metodu çağırdığımız yerde parantez açtığımız anda bizden bir adet string türünden değişken beklediğini ve metodu kullanabilmek için ne yazıkki istediğini vermemiz gerektiğini söyler .
Sonuç olarak eğerki istediğini verirsek (2 önceki resimdeki gibi) metodu çağırırken içerisine yazdığımız her metin MessageBox ile gösterilecek ve bu olay kullanım esnekleğini arttıracaktır. KendiMetodum metodu tanımlanırken dikkat ederseniz MessageBox.Show dedikten sonra içerisine gelenParametre değişkenini gösterir. Burdan anlaşılacağı üzere gelenParametre metot kullanılmak istendiğinde girilecek olan değişkenin MessageBox a taşınması ile yükümlü olacak. Siz metodu ne şekilde kullanmak isterseniz yani metin olarak ne yazarsanız, metot içerisindeki gelenParametre değişkenide o metni temsil ediyor olacak!
E bu güzel birşey değilmi Evet aynen öyle. Aklınızda onlarca farklı senaryonun canlandığını hisseder gibiyim...