Sobes.tech
Junior

Was ist eine Erweiterungsmethode in C#?

sobes.tech KI

Antwort von AI

Die Erweiterungsmethode (Extension Method) ist eine statische Methode, die aufgerufen werden kann, als ob sie eine Methode des erweiterten Typs wäre, obwohl sie tatsächlich außerhalb dieses Typs definiert ist.

Hauptmerkmale:

  • Es ist eine statische Methode, die in einer statischen Klasse deklariert ist.
  • Der erste Parameter der Erweiterungsmethode muss mit dem Schlüsselwort this gekennzeichnet sein und den Typ angeben, den Sie erweitern möchten.
  • Erweiterungsmethoden haben keinen Zugriff auf private und geschützte Mitglieder des erweiterten Typs.
  • Sie ermöglichen es, Funktionalitäten zu bestehenden Typen hinzuzufügen, ohne deren Quellcode zu ändern oder Vererbung zu verwenden.

Beispiel für Erstellung und Verwendung:

  1. Definition einer statischen Klasse und einer Erweiterungsmethode:

    public static class StringExtensions // Statische Klasse
    {
        public static string ToTitleCase(this string input) // Erweiterungsmethode für den Typ string
        {
            if (string.IsNullOrEmpty(input))
            {
                return input;
            }
            // Einfache Logik zur Umwandlung in Title Case
            return System.Globalization.CultureInfo.CurrentCulture.TextInfo.ToTitleCase(input.ToLower());
        }
    }
    
  2. Verwendung der Erweiterungsmethode:

    string myString = "hello world";
    string titleCaseString = myString.ToTitleCase(); // Aufruf, als ob es eine normale string-Methode wäre
    // titleCaseString enthält jetzt "Hello World"