Порядок статических конструкторов / инициализаторов в C #
Работая над приложением C #, я только что заметил, что в некоторых местах статические инициализаторы имеют зависимости друг от друга, например:
static private List a = new List() { 0 };
static private List b = new List() { a[0] };
Не делая ничего особенного, что работало. Это просто удача? Есть ли в C # правила для решения этой проблемы?
Редактировать: (re: Panos) В файле лексический порядок кажется королем? как насчет файлов?
В поиске я попробовал циклическую зависимость, например, такую:
static private List a = new List() { b[0] };
static private List b = new List() { a[0] };
и программа нене запустить то же самое (тестовый костюм не прошел через доску, и я несмотреть дальше).