0
kicks
Afterthought: a post-compilation code injection framework
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. Examples include:
Tweaking a compiled assembly for which you do not have the source code be must support/modify
Adding instrumentation logic to an assembly for test purposes, which will not always be part of the release version
So, what does Afterthought do? Quite simply, it allows you to:
Create type amendments by subclassing Amendment<,> to describe what changes you want to make
Add attributes to your types indicating which types to amend and what amendments to apply
Amend properties by either adding new properties or modifying the logic of existing properties
Amend methods by either adding new methods or modifying the logic of existing methods
Amend constructors by either adding new constructors or modifying the logic of existing constructors
Implement interfaces directly on a type leveraging existing properties/methods, adding new properties/methods, and allowing Afterthought to automatically implement everything else
Configure your project to call Afterthought as a post-build step to apply the changes