扩展方法可以向现有类型“添加”方法,无需创建新的派生类型、重新编译或以其他方式修改原始类型,用起来很方便,下面是我写的例子,为string这个常用的类型添加一个showmes方法,以下是扩展方法的代码:
public static class ExpendStringUtilx//为扩展方法准备的类,这个ExpendStringUtil可以任意取名,要注意的是,这个类必须是顶级静态类,就是说不能放在Form1这个类里面
{
public static void showmes(this string str,int year)//showmeshi是扩展出来的方法名; 第一个参数this string决定了被扩展的类型,而且必须要有this关键字!
{
MessageBox.Show(string.Format("我是{0},今年是{1}年", str, year));
}
}
}
调用这个方法很简单:
string str = "唐三";
str.showmes(2023);
运行结果如下图: