Да и нет, это зависит от различных аспектов того, чего вы на самом деле хотите достичь, поэтому, возможно, вам будет полезна немного больше информации.Поскольку вы спрашиваете об осмыслении, у меня складывается впечатление, что у вас есть существующие библиотеки, которые вы хотите расширить с помощью своей собственной функциональности, но из вашего объяснения это не ясно.
.NET Framework и C # допускают различные способыпереопределения кода / изменения поведения, но все зависит от того, когда доступна информация для переопределения;во время разработки (-> типичная OO-конструкция), после этапа компиляции (-> аспектно-ориентированное программирование) или во время компиляции (-> отражение / динамические характеристики).
В большинстве случаев отражение является последнимприбегнуть к нему, потому что по своей сути он имеет дело с падением производительности (конечно, если помимо использования отражения для чтения атрибутов, вам также необходимо создать дополнительный код и выполнить его).При этом Reflection.Emit действительно является способом переопределения доступных методов (путем создания метода с тем же именем и сигнатурой).