拓展方法是为现有非静态变量类型添加的自定义方法,其仅能被写在静态类中,以静态方法呈现。拓展方法允许添加参数,当为某个变量添加的拓展方法与变量内部本身的成员方法重名时,优先调用内部的成员方法,但拓展方法之间是允许重载的。
语法为:
访问修饰符 staic 返回的变量类型 拓展方法名(this 需要拓展的变量名 自定义名,参数类型 参数名1,......)
{
具体逻辑
}
cs
using System;
namespace ConsoleApp1
{
static class Tools
{
//为int变量类型拓展方法
public static void SpeakValue(this int value,int value2)
{
Console.WriteLine("拓展方法" + value);
Console.WriteLine("参数1" + value2);
}
//为自定义的Test类拓展方法
public static void SpeakTest(this Test t)
{
Console.WriteLine("自定义类的拓展方法");
}
}
class Test
{
public void Func1()
{
Console.WriteLine("测试方法1");
}
}
class Program
{
static void Main(string[] args)
{
int i = 10;
i.SpeakValue(6);
Test t = new Test();
t.SpeakTest();
}
}
}