詳しい説明で回答を改善しました。拡張方法がわかりやすくなりました。
拡張メソッド:これは、サブクラス化を使用したり、元のクラスまたは構造体を変更または再コンパイルすることなく、既存のクラスの動作を拡張できるメカニズムです。
カスタムクラス、.netフレームワーククラスなどを拡張できます。
拡張メソッドは、実際には静的クラスで定義されている特殊な静的メソッドです。
DateTime
クラス既に上記取得され、したがって、私たちは説明のために、このクラスを取っていません。
以下は例です
//これはメソッドが1つしかない既存のCalculatorクラスです(追加)
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)
}
}