Подтвердить что ты не робот

На каких языках .NET можно вывести класс из собственного вложенного класса?

В С#, пытаясь скомпилировать следующий код, появляется ошибка: "Циклическая зависимость базового класса с участием" A "и" A.B "

public class A : A.B
{
    public class B { }
}

Однако, я смотрю на стороннюю DLL через декомпилятор и вижу эту структуру. Как это возможно? Я могу только предположить, что сторонняя DLL была написана на каком-то другом языке .Net, но какой язык и какой был синтаксис?

4b9b3361

Ответ 1

Это потому, что DLL, которую вы пытаетесь декомпилировать, "обфускается". obfuscator изменяет все имена классов, так что декомпиляторы не могут быть декомпилированы.

Ответ 2

Нет языка DotNet. Вывод дочернего класса косвенно из себя является неправильным и может создавать циклическую зависимость. Подумайте с точки зрения компилятора, когда он пытается скомпилировать класс A, тогда сначала нужно скомпилировать класс B, который снова зависит от класса A и т.д. Поэтому при компиляции создается цикл forever.