ICode9

精准搜索请尝试: 精确搜索
首页 > 编程语言> 文章详细

c# 反编译对比(旧)

2020-04-20 16:52:29  阅读:292  来源: 互联网

标签:反编译 Console MemoryCache c# Default WriteLine 对比 mykey


前言

旧的都是我以前博客的迁移。

我们写代码有时候遇到一些问题,或者我们想优化我们的代码,我们想要看编译后的运行情况,那么反编译是必须要做的一件事。

正文

在此我自己使用的是reflector和ILSpy,为什么使用这两种呢?

我们知道第一种reflector是收费的,但是我们有时候在不得已的情况下还是要用的。

为什么我说不得已的情况下用呢?因为有时候ILspy 反编译不出来。

对比

因为反编译工具的不同,那么编译出来的东西差别还是有的。

下面是相同代码反编译下的情况。

reflector

private static void Main(string[] args)
{
    CacheItemPolicy policy = new CacheItemPolicy {
        RemovedCallback = arguments => Console.WriteLine($"缓存被移除的原因:{arguments.RemovedReason}"),
        SlidingExpiration = TimeSpan.FromSeconds(5.0),
        Priority = CacheItemPriority.NotRemovable
    };
    MemoryCache.Default.Add("mykey", "myvalue", policy, null);
    Console.WriteLine(MemoryCache.Default.Get("mykey", null));
    Thread.Sleep(0x1770);
    Console.WriteLine(MemoryCache.Default.Get("mykey", null));
    Console.ReadKey();
}

ILSpy

private static void Main(string[] args)
{
    CacheItemPolicy policy = new CacheItemPolicy {
        RemovedCallback = arguments => Console.WriteLine($"缓存被移除的原因:{arguments.RemovedReason}"),
        SlidingExpiration = TimeSpan.FromSeconds(5.0),
        Priority = CacheItemPriority.NotRemovable
    };
    MemoryCache.Default.Add("mykey", "myvalue", policy, null);
    Console.WriteLine(MemoryCache.Default.Get("mykey", null));
    Thread.Sleep(0x1770);
    Console.WriteLine(MemoryCache.Default.Get("mykey", null));
    Console.ReadKey();
}

虽然细微的差别,但是我们用人脑去看多种反编译还是痛苦的,所以选择一两种反编译工具即可,不要经常换。最好熟悉relector,收费总是有收费的理由的,有钱的话可以买一份支持下。
对了,在此提醒一下ILSpy 免费的,直接去github下载,不要搞野生,版本可能低一些。

标签:反编译,Console,MemoryCache,c#,Default,WriteLine,对比,mykey
来源: https://www.cnblogs.com/aoximin/p/12728570.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有