一个不错的项目 : Afterthought
from:https://nuget.org/packages/Afterthought/1.0.8
site: https://github.com/vc3/Afterthought
Afterthought allows developers to post-process .NET assemblies to add code that either cannot be added to the original source or is not convenient/efficient to do so. Afterthought runs as a post-build step to process one or more assemblies. It discovers and processes amendments that you create or borrow from others. The amendments allow you to add or modify the behavior of constructors, properties, methods, or events, and add new fields and attributes. Amendments can also modify types to implement new interfaces. The modified assembly just includes simple static calls into existing code that you write in a natural and strongly-typed way when writing amendments. Assembly amendments support using Afterthought to modify an assembly without introducing a runtime dependency on Afterthought.