Это не имеет ничего общего с "событиями перед сборкой".Это оптимизация, которая может или не может быть применена компилятором во время компиляции.
При нацеливании на .NET Framework вы добавляете дополнительный уровень сложности оптимизации.Многие из возможных оптимизаций выполняются не компилятором C # при первоначальной компиляции кода в IL, а скорее компилятором JIT непосредственно перед выполнением кода (когда IL компилируется в собственный код).
Ида, компилятор JIT наверняка будет применять такие тривиальные оптимизации, как включение вызова функции всякий раз, когда это возможно.Это низко висящий фрукт для любого оптимизатора.(Хотя существуют условия, когда встроенные функции могут сделать вещи медленнее , и оптимизатор, как правило, достаточно умен, чтобы распознать это. Вы должны всегда доверять оптимизатору, а не пытаться заставить его делать то, что Вы думаете, что это имеет смысл. Обычно это умнее вас.)
Ваше внимание должно быть сосредоточено на написании кода, который был бы понятным и простым для чтения / сопровождения.Не беспокойтесь о том, как его оптимизировать, пока вы не профилируете его и не определите, что он слишком медленный.