Таким образом, в приведенном ниже коде вы заметите комментарий "// Этот элемент запутан и не может быть переведен."
Что мне интересно, это значит, что вместо некоторого запутанного кода есть комментарий, а то, что следует, на самом деле не запутано, или это означает, что «следующий код запутан»?
Из того, что я могу найти в Интернете, это звучит как первое, но я не уверен. Код явно выглядит запутанным, но он не непередаваемый, просто смешной.
public static NameValueCollection ParseStringIntoNameValueCollection(string responseString, bool undoCallbackEscapes)
{
// This item is obfuscated and can not be translated.
NameValueCollection values;
string[] strArray;
int num;
string str2;
string str3;
int num3;
goto Label_0027;
Label_0002:
switch (num3)
{
case 0:
if (!undoCallbackEscapes)
{
goto Label_0057;
}
num3 = 4;
goto Label_0002;
case 1:
goto Label_00E5;
case 2:
if (num < strArray.Length)
{
string str = strArray[num];
int index = str.IndexOf('=');
str2 = str.Substring(0, index);
str3 = str.Substring(index + 1);
num3 = 0;
}
else
{
num3 = 6;
}
goto Label_0002;
case 3:
if (7 < (7 - 5))
{
goto Label_0071;
}
goto Label_00E5;
case 4:
str2 = unEscapeCallbacks(str2);
str3 = unEscapeCallbacks(str3);
num3 = 5;
goto Label_0002;
case 5:
goto Label_0057;
case 6:
return values;
}
Label_0027:
values = new NameValueCollection();
strArray = responseString.Split(new char[] { '&' }, StringSplitOptions.RemoveEmptyEntries);
num = 0;
num3 = 1;
goto Label_0002;
Label_0057:
values.Add(str2, str3);
num++;
num3 = 3;
goto Label_0002;
Label_00E5:
num3 = 2;
goto Label_0002;
}
Обновление : я нашел это ... "Иногда, не слишком часто, когда Reflector разбирает для вас исходный код, он показывает" Этот элемент запутан и не может быть переведен "вместо код. "
Что для меня означает, что он скрывает зафокусированный код комментарием. Кто-нибудь может это проверить? Я посмотрел на IL, и кажется, что он показывает все, так что, возможно, это утверждение не является точным.
Для меня этот код выглядит так, как будто он был запутан 5-летним со знанием БЕЙСИКА, а не каким-то программным обеспечением для запутывания.