• 查看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开发必不可少的工具。

  • 相关阅读:
    Revit扩展组件介绍之_AdWindow
    PropertyGrid使用总结5 UITypeEditor
    PropertyGrid使用总结4 IcustomTypeDescriptor
    PropertyGrid使用总结3 Descriptor
    PropertyGrid使用总结2 TypeConverter
    JavaScript之Ajax学习
    JavaScript正则表达式
    JavaScript面向对象学习笔记
    node入门学习1
    JavaScript随笔8
  • 原文地址:https://www.cnblogs.com/lsp/p/1657110.html
Copyright © 2020-2023  润新知