C#3.0中的扩展方法】的更多相关文章

在实际应用中,开发者完成代码的编译后,除非重新编译更改后的代码,否则开发者很难在原有代码中添加新的功能. 在C#3.0中,提供了一个扩展方法的新特性,可以使得开发者在编译后的程序集里边添加相关的方法,从而很容易地扩展原有的功能. 1.扩展方法的定义 代码生成器 定义扩展方法时,首先这个扩展方法要被定义在一个静态类中(程序集加载时自动加载),因此这个扩展方法也必须是一个静态方法.其次,在扩展方法的参数列表中,需要在第一个参数类型的前面添加关键字this作为修饰符,而紧跟其后的就是扩展类的名称.如下…
 在c#中要扩展一个现有类非常easy,比方这样: ? 1 2 3 4 5 6 7 public static class Utils {     public static void PrintToConsole(this string strSrc)     {         Console.WriteLine(strSrc);     }   } 这样就为String类加入了一个PrintToConsole的方法.用法例如以下: ? 1 2 3 4 5 6 7 class MainCla…
在c#3.0之前,想要为内置的类型添加一个方法显然是不可能的.但是,c#3.0提供的扩展方法可以解决这个问题.具体代码如下: public static class ExtendedClass {public static string ToKevin(this string str) {return "hello,kevin"; } }public class Program {static void Main(string[] args) { DateTime dt = DateT…
C#中的扩展方法. 系统自带的类型,我们无法去修改: 修改源代码需要较大的精力,而且可能会带来错误: 我们只是需要一个或者较少的几个方法,修改源代码费时费力: 被扩展的类是sealed的,不能被继承:(就算不是sealed的,我们也不能因为需要一个方法而去写一个子类,这样不是面向对象) 扩展方法的三个要素: 扩展方法必须处于一个静态类中: 扩展方法必须是一个静态方法: 扩展方法的参数列表必须以 this 开头,this 后面紧跟的是被扩展类,然后才是方法需要的参数:…
原文链接: http://blog.csdn.net/shanyongxu/article/details/47208401 LINQ中的扩展方法 LINQ中where扩展方法,要想使用,必须导入using System.Linq;我们看一下这个方法的声明: public static IEnumerable<TSource > Where<TSource>(this IEnumerable<TSource> source,Func<TSource,bool>…
本篇文章由:http://xinpure.com/call-the-javascript-method-in-flash-actionscript-2-0/ 在 Flash ActionScript 2.0 中调用 Javascript 方法 最近在工作中,有个这样的需求: 要从 Flash ActionScript 2.0 中调用网页上的 Javascript 方法 这是一个关于 Flash 和 Javascript 交互的问题. 在 ActionScript 2.0 中调用外部 javasc…
C#中的扩展方法 扩展方法使你能够向现有类型"添加"方法,而无需创建新的派生类型.重新编译或以其他方式修改原始类型. 扩展方法是一种特殊的静态方法,但可以像扩展类型上的实例方法一样进行调用. 以上是msdn官网对扩展方法的描述,现在我通过一个情景例子来对此进行阐释.假设一个控制台程序class Program{}里面的主函数如下: static void Main(string[] args) { DateTime now = DateTime.Now; string time = n…
 扩展方法(Extension Method)是给那些不是你拥有.因而不能直接修改的类添加方法的一种方便的办法. 一.使用扩展方法 1.定义一个购物车的类-ShoppingCart using System; using System.Collections; using System.Collections.Generic; using System.Linq; using System.Web; namespace Demo.Models { public class ShoppingCar…
今天,我们来聊一聊C#的扩展方法. C# 3.0中为我们提供了一个新的特性—扩展方法.什么是扩展方法呢?我们看一下MSDN的注解: 扩展方法使您能够向现有类型“添加”方法,而无需创建新的派生类型.重新编译或以其他方式修改原始类型 也就是说,我们可以为基础数据类型,如:String,Int,DataRow,DataTable等添加扩展方法,也可以为自定义类添加扩展方法. 那么,我们怎么向现有类型进行扩展呢?我们再看看MSDN的定义: 扩展方法被定义为静态方法,但它们是通过实例方法语法进行调用的.…
扩展方法(Extension Methods)是C#3.0时引入的新特性,相信很多人都听过并且也都用过,最常见的是在LINQ中的使用. 不仅如此,在开发中,我们也可以创建自己扩展方法,使用它来优化类的设计.简化代码.本文将简单地介绍扩展方法的概念.定义.使用场景以及要注意的点. 一.概念 扩展方法是一种特殊类型的静态方法.对于一个C#类型,如类(包括密封类).值类型.接口等,扩展方法可以在不改变该类型源码的前提下,为它的实例提供新的成员.因此,若要为一个框架或第三方库的某个类型增加辅助功能,通过…