3

我正在尝试在我的系统上使用 dll。其中一种方法返回在对象浏览器中定义为的字典对象

"System.Collections.Generic.Dictionary<<string,1.5>>"

什么是1.5?或者是某种安全机制来锁定 dll 以防止意外使用?

4

1 回答 1

3

“1.5”在任何常见的 .NET 语言中都不是有效的类型名称,他们坚持要求您以字母开头的类型名称。使词法分析器的工作变得简单很重要,这是编译器在程序被解析之前将源代码预处理为标记的部分。词法分析器会将“1.5”识别为数字,而不是标识符。

然而,CLR 对此有更宽松的规则,几乎任何东西都适用于类型名称。混淆器利用了这一点。在构建程序集后运行的程序,它使得难以从程序集中对源代码进行逆向工程。有几个非常好的可用于 .NET 的反编译器,例如 Reflector 和 ILSpy。混淆器旨在击败它们。

您使用的程序集被混淆的可能性很高。

于 2013-06-17T01:28:14.333 回答