Влияет ли структура файла C # на то, что компилируется?
Например, повлияет ли порядок членов (с точки зрения того, где он существует в файле) на скомпилированный класс?
Влияет ли структура файла C # на то, что компилируется?
Например, повлияет ли порядок членов (с точки зрения того, где он существует в файле) на скомпилированный класс?
Согласно записи в блоге Эрика Липперта, которую я прочитал на днях, компилятор не гарантирует, что две компиляции одного и того же источника в итоге получат один и тот же IL. Однако речь не шла о порядке методов, но я думаю, что это тоже применимо - поэтому я не думаю, что безопасно предполагать какой-либо порядок методов в скомпилированном классе. Я также не ожидал бы какой-либо связи между упорядочением методов исходного файла и порядком методов IL.
Хотя в большинстве случаев порядок не важен, это не относится к анонимным типам:
new{a=1,b=2}
создает другой несовместимый тип для
new{b=2,a=1}
нет никакой гарантии порядка членов.