Chúng tôi đã cải thiện câu trả lời của mình với phần giải thích chi tiết. Bây giờ, dễ hiểu hơn về phương pháp mở rộng
Phương thức mở rộng : Đó là một cơ chế mà qua đó chúng ta có thể mở rộng hành vi của lớp hiện có mà không cần sử dụng phân lớp con hoặc sửa đổi hoặc biên dịch lại lớp hoặc cấu trúc ban đầu.
Chúng tôi có thể mở rộng các lớp tùy chỉnh, các lớp khung .net, v.v.
Phương thức mở rộng thực sự là một loại phương thức tĩnh đặc biệt được định nghĩa trong lớp tĩnh.
Vì DateTime
lớp học đã được lấy ở trên và do đó chúng tôi không lấy lớp này để giải thích.
Dưới đây là ví dụ
// Đây là một lớp Máy tính hiện có chỉ có một phương thức (Thêm)
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)
}
}