MonkeyPatch 1.0.5
dotnet add package MonkeyPatch --version 1.0.5
NuGet\Install-Package MonkeyPatch -Version 1.0.5
<PackageReference Include="MonkeyPatch" Version="1.0.5" />
paket add MonkeyPatch --version 1.0.5
#r "nuget: MonkeyPatch, 1.0.5"
// Install MonkeyPatch as a Cake Addin
#addin nuget:?package=MonkeyPatch&version=1.0.5
// Install MonkeyPatch as a Cake Tool
#tool nuget:?package=MonkeyPatch&version=1.0.5
MonkeyPatch
MonkeyPatch leverages the power of MonoMod and Castle.Core to override Concrete, Abstract and Interface types (including private and static methods).
What's new
Removed a bug that caused the patcher not to find methods.
Added overloads for all the Override
methods to support plain results rather than only actions.
The Api
For concrete instance or static types, your code would look something like this:
While for interfaces, abstract and virtual types:
The two apis look very similar, but under the hood they are very different. The goal is to have a very simple api (just a handful of options) that writes the new method body for the desired target.
Product | Versions |
---|---|
.NET | net6.0 net6.0-android net6.0-ios net6.0-maccatalyst net6.0-macos net6.0-tvos net6.0-windows net7.0 net7.0-android net7.0-ios net7.0-maccatalyst net7.0-macos net7.0-tvos net7.0-windows |
-
net6.0
- Castle.Core (>= 4.4.1)
- Monkey.Utilities (>= 1.0.1)
- MonoMod.RuntimeDetour (>= 22.1.29.1)
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.