Cevabımızı detaylı bir açıklama ile geliştirdik, artık uzatma yöntemini anlamak daha kolay
Uzatma yöntemi : Mevcut sınıfın davranışını alt sınıflandırma kullanmadan veya orijinal sınıfı veya yapıyı değiştirmeden veya yeniden derlemeden genişletebileceğimiz bir mekanizmadır.
Özel sınıflarımızı, .net çerçeve sınıflarımızı vb. Genişletebiliriz.
Uzantı yöntemi aslında statik sınıfta tanımlanan özel bir statik yöntem türüdür.
Gibi DateTime
zaten yukarıda alındığı için bu dersi açıklama için almadık.
Aşağıda örnek
// Bu, yalnızca bir yöntemi olan mevcut bir Hesap Makinesi sınıfıdır (Ekle)
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)
}
}