zoukankan      html  css  js  c++  java
  • 查看C#代码的低版本实现

    本文是介绍实用工具Reflector的一个小应用的:查看C#代码的低版本实现。

    为什么要查看?

    语言发展的越来越高级,越来越抽象,抽象的语言势必包装隐藏了一些细节。而有时却有必要查看细节是如何,比如lambada表达、LINQ表达式等是如何实现的?IL是一个选择,但我比较讨厌不管问题大小,动辄就拿IL说事的做法,其实大多数问题不必要看IL。另一个角度,比如说明书,假若有10万言的和300字的两个版本,我想看10万言的应该比看300字的费时费力吧。动辄就拿IL说事就如同放着300字说明书不看,却研读10万言的版本。C#高级语言的特性都能用低版本来实现。因此,对神秘的lambda、LINQ等,只要将其assembly转化成C#1.0版本的,它们的实现机制也就显露了。

    如何查看

    这个很简单,凡是用过Reflector的都会。这儿就简单的说一下如何把高版本的C#代码转化为低版本的。通过菜单[View]->[Options],在弹出的窗口中Optimization项选择.NET 1.0即可,如下图:

    举例说明

    下面的截图便是我的前一篇博客中代码的低版本显示(部分):

    结论

    有时低版本不一定代表落后的东西,也许它能揭示一定内部规律。Red Gate's .NET Reflector是个很强大的工具,是.NET开发必不可少的工具。

  • 相关阅读:
    文件限额
    Shell命令
    HDFS基本概念
    hadoop学习
    CentOS 5.6怎么安装MongoDB数据库?
    RHEL/CentOS 6.x使用EPEL6与remi的yum源安装MySQL 5.5.x
    centos6.x yum 安装 mysql5.6 mysql5.7
    Centos6.4环境下DNS服务器的搭建
    CentOS系统中使用iptables设置端口转发
    通过WEB网管登录
  • 原文地址:https://www.cnblogs.com/lsp/p/1657110.html
Copyright © 2011-2022 走看看