Melhoramos nossa resposta com uma explicação detalhada. Agora é mais fácil entender sobre o método de extensão
Método de extensão : É um mecanismo pelo qual podemos estender o comportamento da classe existente sem usar a subclasse ou modificar ou recompilar a classe ou estrutura original.
Podemos estender nossas classes personalizadas, classes de estrutura .net etc.
O método de extensão é, na verdade, um tipo especial de método estático definido na classe estática.
Como a DateTime
classe já foi feita acima e, portanto, não usamos esta classe para a explicação.
Abaixo está o exemplo
// Esta é uma classe Calculadora existente que tem apenas um método (Adicionar)
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)
}
}