Sobes.tech
Junior

C# dilinde genişletme yöntemi nedir?

sobes.tech yapay zeka

AI'dan gelen yanıt

Extension Method (Uzantı Yöntemi), genişletilen türün yöntemiymiş gibi çağrılabilen, ancak gerçekte bu türün dışında tanımlanmış statik bir yöntemdir.

Ana özellikler:

  • Statik bir sınıfta tanımlanmış statik bir yöntemdir.
  • Uzantı yönteminin ilk parametresi this anahtar kelimesi ile işaretlenmeli ve genişletmek istediğiniz türü göstermelidir.
  • Uzantı yöntemleri, genişletilen türün özel ve korumalı üyelerine erişemez.
  • Var olan türe işlevsellik eklemeye izin verir, kaynak kodunu değiştirmeden veya kalıtım kullanmadan.

Oluşturma ve kullanım örneği:

  1. Statik sınıf ve uzantı yöntemi tanımlaması:

    public static class StringExtensions // Statik sınıf
    {
        public static string ToTitleCase(this string input) // string türü için uzantı yöntemi
        {
            if (string.IsNullOrEmpty(input))
            {
                return input;
            }
            // Basit Title Case dönüşüm mantığı
            return System.Globalization.CultureInfo.CurrentCulture.TextInfo.ToTitleCase(input.ToLower());
        }
    }
    
  2. Uzantı yönteminin kullanımı:

    string myString = "hello world";
    string titleCaseString = myString.ToTitleCase(); // Normal string yöntemi gibi çağrılır
    // titleCaseString artık "Hello World" içerir