新特性之扩展方法介绍呢
C#3.0扩展方法是给现有类型添加一个方法。现在类型即可是基本数据类型(如int,String等),也可以是自己定义的类。以下是引用片段:
//Demo--1
//扩展基本类型
namespaceTestExtensionMethods
{
//必须建一个静态类,用来包含要添加的扩展方法
publicstaticclassExtensions
{
//要添加的扩展方法必须为一个静态方法
//此方法参数列表必须以this开始第二个即为要扩展的数据类型,在这里就是要扩展string类型
//第三个就无所谓了,就是一对象名,名字随便,符合命名规则即可
//综合来讲,此方法就是要给string类型添加一个叫TestMethod的方法,此方法返回一个int型的值,即返回调用此方法对象的长度。
西南赛区的五支球队竟然全部杀入季后赛 publicstaticintTestMethod(thisstrings)
{
ngth;
}
}
//测试扩展方法类
classProgram
{
staticvoidMain(string[]args)
{
stringstr=\"HelloExtensionMethods\";
//调用扩展方法,必须用对象来调用
intlen=stMethod();
iteLine(len);
}
}
}
//Demo--2
//扩展自定义类型,同时展示了扩展方法带参数情况,以及方法重载
namespaceTestExtendMethod
{
publicclassStudent
{
publicstringDescription()
{
return\"Student.............\";
}
publicstringDescription(stringname)
{
return\"thestudent’snameis\"+name;
}
}
//必须建一个静态类,用来包含要添加的扩展方法
publicstaticclassExtensions
{
//要添加的扩展方法必须为一个静态方法
//此方法参数列表必须以this开始第二个即为要扩展的数据类型,在这里就是要扩展Student类型
//第三个就无所谓了,就是一对象名,名字随便,符合命名规则即可
//综合来讲,此方法就是要给Student类型添加一个叫TestMethod的方法,此方法返回一个string型的值
publicstaticstringTestMethod(thisStudents)
{
scription();
}
//要添加的扩展方法必须为一个静态方法
//此方法参数列表第一个参数表示要扩展哪一个类,第二个参数才表示此扩展方法的真正参数
//综合来讲,此方法就是要给Student类型添加一个叫TestMethod的方法,此方法带有一个string类型的参数,并返回一个string型的值
publicstaticstringTestMethod(thisStudents,stringname)
{
scription(name);
}
}
//测试扩展方法类
classProgram
{
staticvoidMain(string[]args)
{
Studentstu=newStudent();
//调用扩展方法,必须用对象来调用
stringmes=stMethod();
iteLine(mes);
//调用带参数的扩展方法,只要传第二个参数就可以了
//因为他的第一个参数其实只是为了表明是扩展哪个数据类型
mes=stMethod(\"李沉舟\");
iteLine(mes);
}
}
}
总结:
1.扩展方法是给现有类型添加一个方法
2.扩展方法是通过 指定关键字 t his 修 饰方法的第一个参数
3.扩展方法必须声明在静态类中
4.扩展方法要通用对象来调用
5.扩展方法可以带参数
查看本文来源
济南看白癜风的医院沈阳治妇科医院哪家好
糖尿病高血压吃什么药效果好