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 Compatible and additional computed target framework versions. |
---|---|
.NET | net6.0 is compatible. net6.0-android was computed. net6.0-ios was computed. net6.0-maccatalyst was computed. net6.0-macos was computed. net6.0-tvos was computed. net6.0-windows was computed. net7.0 was computed. net7.0-android was computed. net7.0-ios was computed. net7.0-maccatalyst was computed. net7.0-macos was computed. net7.0-tvos was computed. net7.0-windows was computed. net8.0 was computed. net8.0-android was computed. net8.0-browser was computed. net8.0-ios was computed. net8.0-maccatalyst was computed. net8.0-macos was computed. net8.0-tvos was computed. net8.0-windows was computed. |
-
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.