。 从这篇文章我们就可以明显的看到,C# 3.0 所新增的这些特性,可以认为都是为了LINQ 的发展,为了LINQ更易用,所创建的一些新特性,当然这些新特性也可以被非LINQ相关功能所使用。LINQ的发展,带动了C#3.0 这一系列新特性的产生。
回来说我们的话题,扩展方法,首先看一个最简单的代码例子:
扩展方法的定义,需要注意三个部分:1、静态类(私有公共都可以);2、静态方法(私有公共都可以);3、第一个函数参数前带 this(必须是第一参数前)
namespace Hongjun.Guo { static class MyExtensionMethods { internal static void Print(this object s) { Console.WriteLine(s); } } } |
扩展方法的使用,需要注意点: using 你定义所在的命名空间。
using Hongjun.Guo; static void Main(string[] args) { object o = "dsdgs"; o.Print(); } |
这样一个简简单单的代码后,我们就可以很方便的对一些不开源的第三方控件增加很多我们自己额外需要的功能。