.NET Framework 从2.0升级至3.0/3.5中,增加了不少编译器级别的语法糖,如var关键字、自动属性、Lambda表达式、扩展方法等等。

如果使用vs2008发布.net2.0程序时,除了扩展方法外,其它的语法糖基本上都可以直接使用。但如果发布带扩展方法的程序则会编译出错。究其原因,是因为编译器将那些方法(扩展方法)带上ExtensionAttribute属性, 而ExtensionAttribute这个类却存在于.NET Framework 3.5的程序集中。

使用一个小技巧即可以使得带扩展方法的程序在.NET Framework 2.0/3.0时通过编译:自己定义这个ExtensionAttribute属性

namespace System.Runtime.CompilerServices
{
    public class ExtensionAttribute : Attribute { }
}

这样, 即使不引用3.5版本的程序集, 也可以享受扩展方法带来的便利!

转载于:https://www.cnblogs.com/TianFang/archive/2008/08/23/1274678.html

在.net 2.0/3.0程序中使用扩展方法相关推荐

  1. C#学习笔记四: C#3.0自动属性匿名属性及扩展方法

    前言 这一章算是看这本书最大的收获了, Lambda表达式让人用着屡试不爽, C#3.0可谓颠覆了我们的代码编写风格. 因为Lambda所需篇幅挺大, 所以先总结C#3.0智能编译器给我们带来的诸多好 ...

  2. C#中的扩展方法学习总结

      版权声明:本文由秦元培创作和发表,采用署名(BY)-非商业性使用(NC)-相同方式共享(SA)国际许可协议进行许可,转载请注明作者及出处,本文作者为秦元培,本文标题为C#中的扩展方法学习总结,本文 ...

  3. WINCE6.0在应用程序中调用控制面板的应用

    ********************************LoongEmbedded******************************** 作者:LoongEmbedded(kandi ...

  4. windows moblie 5.0在托管程序中实现短信接收和拦截

    曾经尝试只用.net cf 在手机(windows moblie 5.0)中实现短信的接收,而同时拦截手机本身的短信提示,代码如下: private void Form1_Load(object se ...

  5. .Net 2.0中使用扩展方法

    大家都知道扩展方法是不能直接在2.0中使用的 需要引用一个‍System.Core的dll 不过现在有更加简单的方法了 只要在工程项目中加入以下代码就OK啦 ‍namespace System.Run ...

  6. python代码执行过程记录_详解python程序中记录日志的方法

    日志可以用来记录应用程序的状态.错误和信息消息,也经常作为调试程序的工具.它的重要性就不多说了,直接进入正题. python提供了一个标准的日志接口,就是logging模块.日志级别有DEBUG.IN ...

  7. 技术图文:C# 语言中的扩展方法

    背景 前段时间,在知识星球立了一个Flag,在总结 Leetcode 刷题的第五篇图文时遇到了扩展方法 这个知识点,于是先总结一下. 1.扩展方法概述 扩展方法能够向现有类型"添加" ...

  8. C#中的扩展方法,Linq,IO和多线程的定义和实例

    前段时间学C#的上转型,泛型,lambda表达式这些应用的理解很费劲.学过之后我多多的练习了几天,接下来继续复习C#的其他一些概念,说实在的这些知识点学过之后很容易忘,但是都是很重要的,所以发表在博客 ...

  9. GS01创建信息集及其他GROUP在ABAP程序中的调用方法

    1.函数'G_SET_GET_ALL_VALUES'使用 实例 DATA: t_set_values TYPE TABLE OF rgsb4. DATA: wa_set_values LIKE LIN ...

最新文章

  1. cpu计算机兼容,电脑升级之CPU篇:给CPU升级主要是兼容性问题,其他方法也用不上...
  2. 瑞星杀毒软件所有监控已禁用!
  3. (03) spring Boot 的配置
  4. 向webServices请求失败
  5. 博客园win8客户端开发记录5-app设置 登录 回复评论
  6. Django中--自定义模型管理器类
  7. 【Python】处理 pydotplus.graphviz.InvocationException: GraphViz’s executables not found
  8. 使用Maven开发用户模块的CRUD(增删改查)
  9. 【codevs1262】不要把球传给我,非常无语的一道题目
  10. 手把手教你下载安装配置Fiddler 和 Fiddler Everywhere
  11. 转载——sunlogin远程控制安装bug解决
  12. SmartSVN for Mac(SVN客户端)
  13. 简述有监督学习、半监督学习、无监督学习、弱监督学习
  14. Java集合框架--学习目标 集合概念 Collection体系集合 Collection接口
  15. php模板地图修改,让你一个地图拥有全部资源的修改方法
  16. 运营经验|怎么把app运营好
  17. uni-app 实现在做下一个请求时中止当前的请求
  18. 执笔写流年,焚纸闻墨香
  19. sql服务器查看版本信息,怎么查看sql server的版本
  20. windows7 安装.net4/4.5 Framework 最简单方法

热门文章

  1. [react] React的render中可以写{if else}这样的判断吗?
  2. 前端学习(3131):react-hello-react之总结ref
  3. [html] 如何关闭HTML页面在IOS下的键盘首字母自动大写?
  4. 22为什么有些人更愿意帮助别人
  5. 工作375-input readonly
  6. [css] 当一个元素被设置为浮动后,它的display值变为什么呢?
  7. [css] css如何消除字体的锯齿?
  8. [js] js操作节点的方法有哪些?
  9. 前端学习(2556):vue插槽
  10. 前端学习(1732):前端系列javascript之插入内容