Harmony
Patching, replacing and decorating .NET and Mono methods
... application, you can use Harmony to alter the functionality of all the available assemblies of that application. Where other patch libraries simply allow you to replace the original method, Harmony goes one step further. It is also used in unit testing WPF controls and in many other areas. Installation is done by using 0Harmony.dll in your project or by using the Lib.Harmony nuget package.