Ответ 1
Это потому, что DLL, которую вы пытаетесь декомпилировать, "обфускается". obfuscator изменяет все имена классов, так что декомпиляторы не могут быть декомпилированы.
В С#, пытаясь скомпилировать следующий код, появляется ошибка: "Циклическая зависимость базового класса с участием" A "и" A.B "
public class A : A.B
{
public class B { }
}
Однако, я смотрю на стороннюю DLL через декомпилятор и вижу эту структуру. Как это возможно? Я могу только предположить, что сторонняя DLL была написана на каком-то другом языке .Net, но какой язык и какой был синтаксис?
Это потому, что DLL, которую вы пытаетесь декомпилировать, "обфускается". obfuscator изменяет все имена классов, так что декомпиляторы не могут быть декомпилированы.
Нет языка DotNet. Вывод дочернего класса косвенно из себя является неправильным и может создавать циклическую зависимость. Подумайте с точки зрения компилятора, когда он пытается скомпилировать класс A, тогда сначала нужно скомпилировать класс B, который снова зависит от класса A и т.д. Поэтому при компиляции создается цикл forever.