A tool/framework targeting programs written in C# that allows methods to be replaced and allow other code to be executed before and after a method is called.