Ми вдосконалили нашу відповідь з детальним поясненням. Тепер про спосіб розширення зрозуміти простіше
Спосіб розширення : це механізм, за допомогою якого ми можемо розширити поведінку існуючого класу, не використовуючи підкласифікацію, не змінюючи чи перекомпілюючи початковий клас чи структуру.
Ми можемо розширити наші власні класи, .net рамкові класи тощо.
Метод розширення - це фактично особливий вид статичного методу, який визначається в статичному класі.
Оскільки DateTime
клас вже взято вище, отже, ми не взяли цей клас для пояснення.
Нижче наведено приклад
// Це існуючий клас калькулятора, у якого є лише один метод (Додати)
public class Calculator
{
public double Add(double num1, double num2)
{
return num1 + num2;
}
}
// Below is the extension class which have one extension method.
public static class Extension
{
// It is extension method and it's first parameter is a calculator class.It's behavior is going to extend.
public static double Division(this Calculator cal, double num1,double num2){
return num1 / num2;
}
}
// We have tested the extension method below.
class Program
{
static void Main(string[] args)
{
Calculator cal = new Calculator();
double add=cal.Add(10, 10);
// It is a extension method in Calculator class.
double add=cal.Division(100, 10)
}
}