您的位置: 旅游网 > 八卦 >> 经纪人

新特性之扩展方法介绍呢

发布时间:2021-10-26 07:19:39

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.扩展方法可以带参数

查看本文来源

济南看白癜风的医院
沈阳治妇科医院哪家好
糖尿病高血压吃什么药效果好
猜你会喜欢的
猜你会喜欢的