C# 扩展方法
来源:互联网 发布:游戏辅助编程 pdf 编辑:程序博客网 时间:2024/04/30 19:37
C# 提供了一个很 NB 的机制:扩展方法。它可以让用户根据需要在类的外部为指定的类添加一些操作方法,而且这些方法和普通的实例方法使用起来完全一样(都是通过类实例调用)。
C# 的扩展方法使用起来也非常简单。比如我们要为系统里最常用的 string 类添加一个方法 Jump,则可以使用以下方式:
1 static class Class12 {3 public static string Jump(this string s)4 {5 return s + " jump!";6 }7 }
So Easy!这样在某个字符串调用该方法的时候,该方法将会返回这个字符串,并且后面跟着 " jump!"。比如我们在Main方法里这样调用:
static void Main(string[] args) { string p = "Jone"; Console.WriteLine(p.Jump()); Console.ReadKey(); }
控制台将执行如下结果:
所以,C# 里使用扩展方法只需要注意以下几点:
1、扩展方法必需是一个静态方法;
2、扩展方法所在的类必需是一个静态类;
3、扩展方法至少要有一个参数(在扩展方法里需要使用该参数访问实例的成员,在调用该扩展方法时,第一个参数直接被系统忽略);而且参数列表的第一个参数的类型就是该方法要扩展的类型;
4、第一个参数类型前面必需使用 this 关键字标识。
当然,扩展方法还可以添加其它需要的参数,例如:
static class Class1 { public static string Jump(this string s,int n) { return s + " 跳了" + n + "次"; } }
使用的时候添加上实参就 OK 了:
string p = "Jone";Console.WriteLine(p.Jump(3));
执行以后,结果如图:
Over!
(这东西,不是太常用,记得几年前学过,一直没用过。不过挺有意思的,也比较简单。。刚看到,复习一下。。)
- c#中的扩展方法
- C# 扩展方法
- C#扩展方法本质
- C#扩展方法
- 关于C#扩展方法
- C#之扩展方法
- C#2008扩展方法
- C# 扩展方法
- C#扩展方法
- C#扩展方法
- C#扩展方法
- C# 扩展方法
- C# 扩展方法[学习]
- C# 扩展方法简介
- C#扩展方法
- c# 扩展方法
- c# 扩展方法
- C#中的扩展方法
- Android 管理Tasks
- 单片机常见笔试题
- js特效,图片无缝滚动完整版
- emacs使用google-c-style
- 最近在做hibernate开发时,控制台打印出了sql语句,但数据库没记录
- C# 扩展方法
- socket在网络中传输传输大文件
- Java Base64、AES、SHA1、MD5加密算法
- 如何让Editplus不产生bak文件?
- HDU 4123 Bob’s Race 树状DP+RMQ预处理
- MySql增加字段、删除字段 唯一字段
- 我要积分
- 自顶向下网络术语翻译一览表(二)
- HTTP 状态代码