Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/323.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如何理解类名add<&燃气轮机;象征?_C#_Il - Fatal编程技术网

C# 如何理解类名add<&燃气轮机;象征?

C# 如何理解类名add<&燃气轮机;象征?,c#,il,C#,Il,如何理解C语言中的这段代码 使用系统; 内部类 { } 类名不能包含符号,但允许在代码中包含它?你将如何做到这一点?我如何理解这种差异 请看下面的代码: internal class <Module>{D8BAC701-C957-4CBE-8F97-37BB3A7DAFFE} { static <Module>{D8BAC701-C957-4CBE-8F97-37BB3A7DAFFE}() { if (!(eqXmHMg8VVPy3nYe

如何理解C语言中的这段代码

使用系统;
内部类
{
}
类名不能包含符号
,但允许在代码中包含它?你将如何做到这一点?我如何理解这种差异

请看下面的代码:

internal class <Module>{D8BAC701-C957-4CBE-8F97-37BB3A7DAFFE}
{
    static <Module>{D8BAC701-C957-4CBE-8F97-37BB3A7DAFFE}()
    {
        if (!(eqXmHMg8VVPy3nYeAo.eHiMp4DL8(Convert.ToBase64String(Type.GetTypeFromHandle(epOl6XynGueNUNwY5Y.e53w34m968awCm9P85taUZe(33554477)).Assembly.GetName().GetPublicKeyToken()), "eObc8gibn") != "34NavQ/3DsKjaKpYVSNSMjtuaXO9zUZlQl7AY+p3wrM="))
        {
            return;
        }
        while (true)
        {
            eqXmHMg8VVPy3nYeAo.ce4DmfsmSrOT856tDgfrkMb();
        }
    }
}
内部类{D8BAC701-C957-4CBE-8F97-37BB3A7DAFFE}
{
静态{D8BAC701-C957-4CBE-8F97-37BB3A7DAFFE}()
{
如果(!(eqXmHMg8VVPy3nYeAo.eHiMp4DL8(Convert.ToBase64String(Type.GetTypeFromHandle(epol6xynguenuwy5y.e53w34m968awCm9P85taUZe(33554477)).Assembly.GetName().GetPublicKeyToken(),“eObc8gibn”)!=“34NavQ/3dskjakpyvsmjtuaxo9zuzl7ay+wrp3m=”)
{
返回;
}
while(true)
{
eqXmHMg8VVPy3nYeAo.ce4dmfssrot856tdgfrkmb();
}
}
}
这个类甚至没有名称空间


我反编译了这个DLL。但我如何使用此代码并消除混淆?

这看起来可能是代码。这是以一种仍然有效的方式编译成IL的代码,但人类不容易理解

这是因为C#和IL中有效标识符的规则不同。因此,当您尝试反编译代码时,您得到的是无效的C#,但IL本身是有效的


此外,类不必在名称空间中,即使在C#中也是如此。

我认为这里缺少类名,只提到泛型类型。这应该是这样的,内部类MyClass{}。更多细节:我不知道这段代码来自哪里,但它看起来像是反编译的代码。你不允许写这样的代码,但编译器可以。编译器经常使用“无法说出的名称”来防止名称与代码冲突。@Nickedi您不允许用C#编写此类代码。但是如果你直接写IL,你可以写出来。@svick你完全正确。我应该更精确,而不是暗示知识。(问题是如何理解C#中的代码?这是无效的C#代码。)谢谢,我会尽力理解它。你有什么建议吗?
internal class <Module>{D8BAC701-C957-4CBE-8F97-37BB3A7DAFFE}
{
    static <Module>{D8BAC701-C957-4CBE-8F97-37BB3A7DAFFE}()
    {
        if (!(eqXmHMg8VVPy3nYeAo.eHiMp4DL8(Convert.ToBase64String(Type.GetTypeFromHandle(epOl6XynGueNUNwY5Y.e53w34m968awCm9P85taUZe(33554477)).Assembly.GetName().GetPublicKeyToken()), "eObc8gibn") != "34NavQ/3DsKjaKpYVSNSMjtuaXO9zUZlQl7AY+p3wrM="))
        {
            return;
        }
        while (true)
        {
            eqXmHMg8VVPy3nYeAo.ce4DmfsmSrOT856tDgfrkMb();
        }
    }
}