.Net 2.0中使用扩展方法

大家都知道扩展方法是不能直接在2.0中使用的
需要引用一个‍System.Core的dll
不过现在有更加简单的方法了
只要在工程项目中加入以下代码就OK啦
‍namespace System.Runtime.CompilerServices
{
    [AttributeUsage(AttributeTargets.Method | AttributeTargets.Class | AttributeTargets.Assembly)]
    public sealed class ExtensionAttribute : Attribute { }
}
简直太赞了

时间: 2024-09-22 14:18:49

.Net 2.0中使用扩展方法的相关文章

C#3.0 中使用扩展方法来扩展接口

有关扩展方法的一些知识点请参看我的前篇博客:C#3.0 中的扩展方法 (Extension Methods)前篇博客中我重点介绍了两个特殊场景:1.扩展方法跟原来类的方法重名时候的处理逻辑2.扩展方法的嵌套现在我们来看扩展方法使用的第三个场景:使用扩展方法来扩展接口 应用场景举例:我们有时候会发现最初定义的一个接口,在现在环境下,这个接口需要再增加一个函数.有了扩展方法后,我们在这种情况下又多了一种实现的选择.下面以代码来说明这个问题:namespace Hongjun.Guo{interfac

.net3.0中的扩展方法(示例)

先定义一个类Utils,在该类中定义了一个string类的扩展方法_IsNull  using System;namespace LinqDemo.App_Code{    public static class Utils    {        /**//// <summary>        /// 传统写法        /// </summary>        /// <param name="s"></param>     

C#中使用扩展方法对调用进行验证

利用C# 3.0提供的扩展方法技术,可以为已经编译好的程序集类型增加新的方法,从而应对新的扩展.除了在可扩展性方面所具有的优势之外,如果能够合理地结合泛型与类型推断,扩展方法还可以有效降低代码的重复,提高程序的可重用性.例如,这样的方法实现: public class CustomerDAL { public IEnumerable<Customer> FindCustomers(string roleName) { return from customer in context.Custom

C# 3.0 新特性----扩展方法

转自 http://www.cnblogs.com/jiejie_peng/archive/2010/04/08/1707195.html C# 3.0 新特性----扩展方法 主要目的掌握对一个已经编译的类的方法的扩展 特别注意a. 扩展某个类时,新建的类要使用 public static 修饰,因为默认的类是 internal 访问修饰符b. 这个类要有文件作用域,即不能作为嵌套类使用c. 扩展方法要声明为静态的d. 扩展方法的第一个参数类型即是要扩展的类,且该参数前要加 this 关键字e

objective-C中的扩展方法与partial class

 在c#中要扩展一个现有类很容易,比如这样: public static class Utils { public static void PrintToConsole(this string strSrc) { Console.WriteLine(strSrc); } } 这样就为String类添加了一个PrintToConsole的方法,使用方法如下: class MainClass { public static void Main (string[] args) { "Hello Wor

asp.net中 C#扩展方法实例

这是msdn上说的,也就是你可以对String,Int,DataRow,DataTable等这些类型的基础上增加一个或多个方法,使用时不需要去修改或编译类型本身的代码. 先做个例子吧,以String为例,需要在字符串类型中加一个从字符串转为数值的功能. 以往我们可能是这样做的,会专门写一个方法做过转换 public static int StrToInt(string s) {     int id;     int.TryParse(s, out id);//这里当转换失败时返回的id为0  

说说NET3.5中的扩展方法

扩展方法配合Lambda表示达,可以方便我们进行数据的查询,看个代码吧: IEnumerable<string> x=new List<string> {"1","zzl","good"}; //为对象赋值 foreach (var info in x.ForUser("zzl")) //从其中筛选zzl这个字符 { Response.Write(info); }   public static cla

asp.net中CSharpThinking 扩展方法

本章主要描述扩展方法的应用及相关原理. 一, 演变 1.1 扩展方法特征 1)必须在一个静态方法中. 2)至少有一个参数. 3)第一个参数必须附加this关键字作为前缀. 4)第一个参数不能有其他任何修饰符(如 out,ref). 5)第一个参数的类型不能是指针. 6) 如果扩展方法名称与类型的方法一样(如都命名为ToString),则只有类型的方法会被调用,而扩展方法的不会,这是一个优先级问题. 1.2 扩展方法与普通静态方法的比较   C#2 时对一个类进行扩展而又不能应用继承方式时,只能编

MetaBuilders在ASP.NET FORUMS2.0中的应用方法

asp.net 曾听到朋友报怨ASP.NET FORUMS2.0中因为使用了MetaBuilders使得化码不太直观,呵,有利有有弊,使用这个控件目的在于统一界面. 比方说在管理页面中一般都会分成左右两栏,在ASP.NET可能比较常用的方法有两种,一种是使用框架,还有一种是使用一个表现左边的asxc来统一.那么使用了MetaBuilders之后是一种什么情况呢?我觉得和使用了框架页面差不多,不过里面没有了分栏,页面看起来是一个整体,页面变成了一个容器,包含了其他的一些分页,这种做法就要比使用as