Что такое расширяющие методы (Extension Methods) в C#?
Этот вопрос проверяет знание расширяющих методов, которые позволяют добавлять новые методы к существующим типам без изменения их исходного кода.
Короткий ответ
Расширяющие методы позволяют добавлять новые методы в существующие типы, не изменяя исходный код этих типов. Они используются для улучшения функциональности классов, с которыми нельзя напрямую работать.
Длинный ответ
Расширяющие методы в C# позволяют добавлять новые методы к существующим типам, даже если исходный код этих типов недоступен. Это достигается с помощью ключевого слова this в параметре метода, который указывает, что метод расширяет тип. Это полезно, например, когда необходимо добавить функциональность в стандартные классы библиотеки, такие как строки или коллекции, без изменения их кода.
Пример:
public static class StringExtensions
{
public static bool IsNullOrEmpty(this string str)
{
return string.IsNullOrEmpty(str);
}
}
string myString = "Hello";
Console.WriteLine(myString.IsNullOrEmpty()); // Вызов расширяющего метода