Junior — Middle
Можете ли објаснити шта подразумева метод расширења у програмирању?
sobes.tech АИ
Одговор од АИ
Metod proširenja u C# je način da se doda nova metoda postojećem tipu bez izmene izvornog koda tog tipa i bez kreiranja novog naslednika. Takve metode se deklarisu kao statičke u statičkoj klasi, a prvi parametar metode se označava ključnom rečju this, ukazujući na tip kojem se metoda dodaje.
Ovo je korisno kada je potrebno proširiti funkcionalnost klasa iz biblioteka kojima nemamo pristup za izmene.
Primer metode proširenja:
public static class StringExtensions
{
public static bool IsNullOrEmpty(this string str)
{
return string.IsNullOrEmpty(str);
}
}
// Upotreba:
string s = null;
bool result = s.IsNullOrEmpty();
Ovde IsNullOrEmpty deluje kao metoda instance stringa, iako je u stvari statička metoda proširenja.