1. Ana Sayfa
  2. C Sharp

C# Extension Methods – Genişletme Metodları #2

C# Extension Methods – Genişletme Metodları #2
+ - 1

C# Extension Methods – Genişletme Metodları #2, yazım ile Extension Metod dersime devam ediyorum. Bu dersimizde ikinci kısmına geçiyoruz.

C# Extension Methods – Genişletme Metodları #2

Önceki yazımda Extension Method konusuna bir giriş yapmıştık. Bu dersimde bir çok genişleme metoduna yer vereceğim. Yani bu dersimiz daha fazla örnek yapmak üzerine olacaktır.

Kullandığım birçok extension metod ‘u bu yazımda paylaşacağım.

Örnek Metod 1

İlk olarakSQL Injection engelleme için kullandığım metodu vereyim. Dürüst olmak gerekirse gerçekten yazdığım ve hiç kullanmadığım bir metod. :D

       public static string ToClearText(this string TXT)
        {
            TXT = TXT.ToUpper().Replace("SQL", "").Replace("SELECT", "").Replace("DELETE", "").Replace("UPDATE", "")
                .Replace("WHERE", "").Replace("ALTER", "").Replace("INSERT", "");
            return TXT.Trim();
        }

 

Örnek Metod 2

TextBox’tan girilen verinin bir mail adres olup olmadığını kontrol eden bir metod yazalım. Bu konuyu daha önce bir C# E-Mail Kontrolü – Net.Mail Sınıfı adında bir yazımda anlatmıştım. Üstelik bu dersimde REGEX sınıfı ile kontrol edilmesi de bulunuyor.

        public static MailAddress ToMailAdress(this string txt)
        {
            MailAddress mail;
            if (txt.Trim() == string.Empty) throw new Exception();
            try
            {
                mail = new MailAddress(txt);
                return mail;
            }
            catch (Exception)
            {
                return null;
            }
        }

Kullanımına bir örnek verelim.

        private void btn_kontrol_Click(object sender, EventArgs e)
        {
            MailAddress mail = textBox2.Text.ToMailAdress();
            MessageBox.Show(mail.Address);
        }

 

Örnek Metod 3 ve 4

Bir string tipindeki değişkenin solundan belirli bir sayıda ve sağından belirli sayıda karakter almak için bir metod yazalım. Bu belirli sayısı elbette biz belirteceğiz yani dışarıdan göndereceğiz.

        public static string ToGetLeftChar(this string txt, int KarakterSayisi)
        {
            if (txt.Length < KarakterSayisi)
                return txt;
            else
                return txt.Substring(0, KarakterSayisi);
        }
        public static string ToGetLRightChar(this string txt, int KarakterSayisi)
        {
            if (txt.Length < KarakterSayisi)
                return txt;
            else
                return txt.Substring(txt.Length - KarakterSayisi, KarakterSayisi);
        }

String tipinde değişkenler üzerinde kullanabilir. Şimdi bu metodların kullanımlarına bakalım.

        private void btn_karakter_al_Click(object sender, EventArgs e)
        {
            MessageBox.Show(textBox3.Text.ToGetLeftChar(5));
        }
        private void button2_Click(object sender, EventArgs e)
        {
            MessageBox.Show(textBox3.Text.ToGetLRightChar(5));
        }

Bu dersimizde bu kadar olsun dostlar. Devamını 3. partta vereceğim ve 3. part bu konu hakkındaki son ders olacak.

C# Extension Method – Genişletme Metodları #1

C# Extension Method – Genişletme Metodları #3


C# Extension Methods – Genişletme Metodları #2, dersimizde bu kadar arkadaşlar. Diğer derslerimizde görüşmek üzere.

C Sharp Eğitim Seti eğitimi sayfasına gitmek için tıklayınız.

Derslerime özel olarak hazırladığım Github Projeme buradan ulaşabilirsiniz…Bu dersimi ve Diğer partların hepsini Github projemde tek bir klasör içerisinde tutacağım.

Sağlıcakla ve takipte kalın. ;)

Bu yazıya tepkiniz ne oldu?

Yazar Hakkında

Lise Ağ Sistemleri ve Yönetimi bölümü, üniversite Bilgisayar Programcılığı bölümü Ön Lisans, Yönetim Bilişim Sistemleri Lisans öğrenimi aldım. Askerlik görevimi tamamladım. Uzmanlık alanım; C# ve SQL Programlama dilleri ile müşteri odaklı, kullanıcı dostu ERP ve CRM gibi sistemleri geliştirmektir. Ayrıca şuanda PHP ve MYSQL alanında projeler geliştirmekteyim. C++, Phyton, Xamarin, MVC gibi konuları öğrenmek ve kendimi geliştirme çabası içerisindeyim. Discord için: https://discord.gg/FBxZeHu9

Değerli yorumlarınızı bekliyorum. :)

Yorumlar (1)

Bir cevap yazın

E-posta hesabınız yayımlanmayacak.