Возможно ли расширить или изменить код класса C # во время выполнения?
Нет, это невозможно сделать в .NET. Вы можете написать производные классы и переопределить методы (если они виртуальные), но вы не можете изменить существующий класс. Просто представьте, возможно ли то, что вы спрашивали: вы можете изменить поведение некоторых существующих системных классов, таких как System.String.
Вы также можете взглянуть на Методы расширения , чтобы добавить функциональность в существующий класс.