问题标签 [reflector]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
c# - 反射器和编译器生成的代码
我有一个在 Reflector 中反汇编的 dll,然后生成一个类。该类包含无法在 Visual Studio 中编译的代码。
我认为它是 leagl IL 代码,但我怎样才能从中生成更高级别的 c#。
似乎 yield 和 IEnumerator<>1__state;
在 IL 中生成了无法编译的东西。
有人知道我如何从包含这种 IL 的反射器生成一个类吗?
有没有反射器插件可以解决这个问题?
wpf - 如果 Visual Studio 2010 基于 WPF,为什么我不能用反射器打开它?
如果 Visual Studio 2010 基于 WPF,为什么我不能用反射器打开它?
换句话说,devenv.exe
似乎是原生程序集,那么 WPF UI 代码在哪里呢?
c# - 有人可以解释一下这个懒惰的评估代码吗?
所以,这个问题只是被问到了:
我的示例代码:
有人可以解释为什么这是懒惰的评估吗?我在Reflector中查过这段代码,比刚开始的时候更加困惑。
反射器输出:
对于 numbers 方法,并且看起来已经为该表达式生成了一个新类型:
这对我来说毫无意义。在我将代码放在一起并自己执行之前,我会认为这是一个无限循环。
编辑:所以我现在明白 .Take() 可以告诉 foreach 枚举已经“结束”,而实际上它还没有,但在链接到 Take() 之前不应该完整地调用 Numbers() ? Take 结果是实际枚举的结果,对吗?但是,当 Numbers 没有完全评估时,Take 是如何执行的呢?
EDIT2:那么这只是'yield'关键字强制执行的特定编译器技巧吗?
c# - Is it possible to link a method marked with MethodImplOptions.InternalCall to its implementation?
In trying to find the possible cause of an exception, I'm following a code path using Reflector. I've got deeper and deeper, but ended up at a method call that looks like:
This markup on the method tells the framework to call a C++ function somewhere. Is there any way to find out what method actually gets called, and in turn what else is likely to be called?
NB: I don't really want to see the source code of this method, I just want to know the possible things that could throw the exception I am seeing that originates out of this method call.
wpf - 反编译 WPF 程序集(即 PresentationCore、PresentationFramework)时的反射器问题
我刚刚从 RedGate 下载了最新版本的 Reflector,但无法反编译某些核心 WPF 程序集中的类,例如 PresentationCore 和 PresentationFramework。
这是描述我的问题的图片的链接:
感谢您的帮助。
c# - 如何从 .resources(不是 .resx)文件中获取位图
我已经打开了带有反射器的程序集,并将一些 .resources 文件保存到我的硬盘上。那里有一些位图,我怎样才能从保存的 .resources 文件中获取它们?我想通过代码或某些程序将它们保存为图像(.bmp)文件。
c# - .NET Reflector 和 getter/setter 问题
我正在使用最新的 .NET Reflector 来反汇编一个内部遗留应用程序,其源代码几乎无法恢复。我需要找到一个讨厌的错误的原因,然后可能会修补它。Reflector 像往常一样在重新创建项目结构方面做得很好,但很快我发现一些属性调用被“扩展”到它的get_()
和set_()
方法签名中,导致源代码无法编译。
起初,我认为每个 get/set 调用都有问题。但仔细一看,其中几个是可以的,而其他的(尤其是 OleDbCommand 和 Forms.Control 属性)将生成为get_()
和set_()
。
使用正则表达式的快速 Visual Studio“搜索/替换”解决了这些情况,但这很尴尬。有没有办法让 Reflector 行为正确?
编辑 1 - 下面的示例有问题的代码:
编辑 2 - 程序集是在发布模式下构建的。
c# - 令人困惑的 C# 代码
可能的重复:
保护 .NET 代码免受逆向工程?
您使用什么来保护您的 .NET 代码免受逆向工程的影响?
如何保护我的 .NET 程序集免受反编译?
鉴于 C# 可以被反射和反编译,你能建议我如何混淆我的代码或保护它免受逆向工程吗?
.net - 如何跟踪可能引发潜在异常的位置?
我们在这里有很多关于堆栈跟踪和分析已抛出异常的问题。
我正在使用 RedGate Reflector 来检查一些 .net 类的工作原理。特别是,我正在查看对象的ConnectionString
属性System.Data.SqlClient.SqlConnection
。反射器指示ArgumentException
如果提供了无效的连接字符串,此属性可能会抛出一个。
我的问题是:鉴于此属性可能会引发此特定异常,我如何分析代码以找到可能引发异常的位置?该属性调用另一个函数来设置值。这个函数不ArgumentException
直接抛出。我想知道如何找到可能引发此异常的位置。