Как вставить новый код в существующий код C # (не MSIL) перед компиляцией, но не изменить файл .cs?
Вы можете использовать Text Transformation Toolkit (T4) для обработки сценариев этого типа.
Используйте шаблоны T4, которые записывают в частичный класс файлы. Это шаблон, используемый Visual Studio - автоматически сгенерированный код помещается в частичные файлы, а ваш код - в основной файл .cs.
Вы можете взглянуть на PostSharp .
Вы можете использовать Fody или Weavlyn , который работает с MSIL инъекцией "IL Weaving"