Skip to content

MonoDetour.Cil

ILContextExtensionsExtension methods for MonoMod.Cil.ILContext.
ILManipulationInfoA manipulation info containing the MonoMod.Cil.ILContext intended for manipulation and an untouched MonoMod.Cil.ILContext useful for observing the untouched state, including the original method as a MethodBase if it exists.
ILWeaverAn API for manipulating CIL method bodies. See https://monodetour.github.io/ilhooking/introduction/
ILWeaverResultA result value sometimes returned by ILWeaver containing status on action through IsValid. If IsValid is false, FailureMessage has a value.
ILWeaverResultExceptionAn exception thrown by ThrowIfFailure().
InstructionExtensionsExtension methods for Instruction.
InstructionOrEnumerableA wrapper which represents Instruction or its IEnumerable<T>.

You don’t need to directly interact with this type; implicit type conversions are provided which allow using e.g. ILWeaver’s Insert methods seamlessly while mixing up Instruction and its IEnumerable<T> in parameters marked as params IEnumerable<T> of InstructionOrEnumerable.
InstructionOrEnumerableExtensionsExtension methods to help working with InstructionOrEnumerable types.
MethodDefinitionExtensionsExtension methods for MethodDefinition.
WeaverExceptionCatchHandlerAn exception handler with a catch block.
WeaverExceptionFaultHandlerAn exception handler with a fault block.
A fault block is similar to a finally block, except it runs only if the code in the try block threw, whereas finally runs always. This differentiates from a catch block in that only one catch block runs if there are multiple.
WeaverExceptionFilterHandlerAn exception handler with a catch block with a filter.
WeaverExceptionFinallyHandlerAn exception handler with a finally block.
IWeaverExceptionHandlerAn exception handler for ILWeaver.
ILManipulationInfo.ManipulatorAn IL manipulator method accepting a ILManipulationInfo.