gpt4 book ai didi

c# - 我可以更改 C# 中常量的值吗?

转载 作者:IT王子 更新时间:2023-10-29 04:53:55 27 4
gpt4 key购买 nike

我需要这个 hack 来处理无法重新编译的遗留 .NET dll。一些黑客,例如使用反射等

最佳答案

如果程序集未签名,那么您可以反汇编并修改 IL 并重新编译,或者反汇编为源代码并修改并重新编译。我会找到合适的链接....

要反汇编源代码,您可以使用 reflector (警告 - 不再免费)与 Dennis Bauers plugin或者你可以使用 reflexil这是 Reflector 的另一个插件,带有完整的 VB/C# 编辑器和智能感知,允许直接从 Reflector 注入(inject)代码。

要反汇编为 IL,您可以使用 ILSpy反汇编程序或 MSILDissasembler

正如其他人所指出的,尽管您想仔细考虑这样做的含义。它可能有更多你意识到的链式 react 。

另一件非常重要的事情是,如果该常量被其他引用您正在重新编译的 dll 的 dll 使用,那些 dll 将不会在没有重新编译的情况下看到常量的新值

这是因为当某些东西被定义为常量时,“常量”值作为优化被烘焙到引用 dll 中(因此不需要每次使用时都在引用的 dll 中查找)< strong>AT BUILD TIME 因此,在任何引用“constant”的库中实际上从未看到对“constant”值的更改。参见 this question以及更多详细信息的答案。

关于c# - 我可以更改 C# 中常量的值吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6174453/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com