黑马程序员技术交流社区
标题:
关于扩展方法
[打印本页]
作者:
黄冉
时间:
2012-11-10 07:43
标题:
关于扩展方法
class Program
{
static void Main(string[] args)
{
string str = "asdfdf";
int a=str.con();调用扩展方法必须用对象调用
Console.WriteLine(a.ToString());
int b = str.con1( ref str);调用扩展方法的时候我们只需要传入第二个参数就可以了,而第一个参数只是为了表明扩展哪个数据类型
Console.WriteLine(b.ToString());
Console.ReadKey();
}
}
public static class test
{
public static int con(this string str)
{
return str.Length;
}
public static int con1(this string str, ref string s)
{
str = s;
return str.Length;
}
}
这里自己定义了一个静态类test,在静态类中定义了两个静态方法。发现在两个方法的形参中发现this修饰符.这两个方法就是扩展方法。所谓扩展方法就是向现有类型添加方法。没必要建新的派生类型,重新编译或者以其它方式修改原始类型。
从上面的代码可以看出:
1.扩展方法是给现有的类型添加一个方法
2.扩展方法必须在静态类中声明
3.扩展方法的调用是通过对象调用
4.扩展方法可以带参数
5.扩展方法是通过this修饰方法的第一个参数
复制代码
作者:
许庭洲
时间:
2012-11-10 07:48
值得学习ing!
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2