c#编程指南(五) 扩展方法(Extension Method)
2010-08-17 10:29
260 查看
C# 3.0就引入的新特性,扩展方法可以很大的增加你代码的优美度,扩展方法提供你扩展.NET Framewoke类的扩展途径,书写和规则也简单的要命。
编写扩展方法有下面几个要求:
第一:扩展方法所在的类必须是全局的,不能是内部嵌套类。
第二:扩展方法的类是静态类。
第三:扩展方法是静态方法。
第四:扩展方法的第一个参数的数据类型必须是要扩展类型。
第五:扩展方法的第一个参数使用this关键字。
下面是一段很简单的代码:
代码很简单,扩展的是int类型。
第一个是定义了一个Print方法,是没有参数没有返回值的扩展方法。
第二个是定义了一个带返回值无参数的扩展方法。
第三个是定义了一个有返回值有参数的扩展方法。
示例代码:下载
编写扩展方法有下面几个要求:
第一:扩展方法所在的类必须是全局的,不能是内部嵌套类。
第二:扩展方法的类是静态类。
第三:扩展方法是静态方法。
第四:扩展方法的第一个参数的数据类型必须是要扩展类型。
第五:扩展方法的第一个参数使用this关键字。
下面是一段很简单的代码:
using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace ExtensionMethod { public static class TestClass { public static void Print(this int i) { Console.WriteLine(i); } public static int Times(this int i) { return i * 2; } public static int Add(this int i, int d) { return i + d; } } class Program { static void Main(string[] args) { int number = 4; number.Print(); Console.WriteLine(number.Times()); Console.WriteLine(number.Add(5)); } } }
代码很简单,扩展的是int类型。
第一个是定义了一个Print方法,是没有参数没有返回值的扩展方法。
第二个是定义了一个带返回值无参数的扩展方法。
第三个是定义了一个有返回值有参数的扩展方法。
示例代码:下载
相关文章推荐
- 扩展方法(C# 编程指南)
- 扩展方法(C# 编程指南)
- 扩展方法(C# 编程指南)
- 如何:实现和调用自定义扩展方法(C# 编程指南)
- 扩展方法(C# 编程指南)
- 扩展方法(C# 编程指南)
- 扩展方法(C# 编程指南)
- 扩展方法(C# 编程指南)
- 匿名方法(C# 编程指南)
- 使用 Split 方法分析字符串(C# 编程指南)
- 如何:重写 ToString 方法(C# 编程指南)
- 泛型方法(C# 编程指南)
- C#编程(六十一)------------LINQ中的扩展方法
- C#编译器优化那点事 c# 如果一个对象的值为null,那么它调用扩展方法时为甚么不报错 webAPI 控制器(Controller)太多怎么办? .NET MVC项目设置包含Areas中的页面为默认启动页 (五)Net Core使用静态文件 学习ASP.NET Core Razor 编程系列八——并发处理
- 带有命名方法的委托与带有匿名方法的委托(C# 编程指南)
- 委托匿名方法(C# 编程指南)
- 命名方法(C# 编程指南)
- 带有命名方法的委托与带有匿名方法的委托(C# 编程指南)
- 匿名方法(C# 编程指南)
- 如何:了解向方法传递结构和向方法传递类引用之间的区别(C# 编程指南)