Metody rozszerzające pozwalają nam na rozszerzenie istniejących klas w nowe funkcjonalności bez dokonywania w nich zmian. Są przydatne zwłaszcza gdy nie mamy dostępu do kodu źródłowego danej klasy ale chcemy rozszerzyć jej możliwości.
Metoda rozszerzająca jest to metoda statyczna znajdująca się w klasie statycznej i jako pierwszy parametr występuje w niej słowo kluczowe this wraz z informacją o typie który chcemy rozszerzać. Pierwszego parametru nie podajemy jawnie podczas wywoływania, jest on automatycznie przekazywany.
Metoda rozszerzająca będzie dostępna jedynie gdy będzie w tej samej przestrzeni nazw co typ rozszerzany bądź gdy przestrzeń nazw w której znajduje się metoda rozszerzająca dołączymy poprzez dyrektywę using.
Dodamy rozszerzenie do typu int. Będzie to funkcja zwracająca informację czy dana liczba jest parzysta.
public static class IntUtility
{
public static bool IsEven(this int value) // słowo this informuje kompilator że jest to metoda rozszerzająca
{
return ((value % 2) == 0); //sprawdzamy czy dzieli się przez 2 bez reszty
}
}
Fragment kodu gdzie wykorzystujemy metodę rozszerzającą:
int valueToCheck = 8;
var result = valueToCheck.IsEven();
Korzystając z serwisu akceptujesz regulamin
oraz politykę prywatności.
Używamy informacji zapisanych za pomocą plików cookies w celu zapewnienia maksymalnej wygody w korzystaniu z naszego serwisu.
Jeśli nie wyrażasz zgody, ustawienia dotyczące plików cookies możesz zmienić w swojej przeglądarce.
Metody rozszerzające pozwalają nam na rozszerzenie istniejących klas w nowe funkcjonalności bez dokonywania w nich zmian. Są przydatne zwłaszcza gdy nie mamy dostępu do kodu źródłowego danej klasy ale chcemy rozszerzyć jej możliwości.
Metoda rozszerzająca jest to metoda statyczna znajdująca się w klasie statycznej i jako pierwszy parametr występuje w niej słowo kluczowe this wraz z informacją o typie który chcemy rozszerzać. Pierwszego parametru nie podajemy jawnie podczas wywoływania, jest on automatycznie przekazywany. Metoda rozszerzająca będzie dostępna jedynie gdy będzie w tej samej przestrzeni nazw co typ rozszerzany bądź gdy przestrzeń nazw w której znajduje się metoda rozszerzająca dołączymy poprzez dyrektywę using.
Dodamy rozszerzenie do typu int. Będzie to funkcja zwracająca informację czy dana liczba jest parzysta.
Fragment kodu gdzie wykorzystujemy metodę rozszerzającą: