Skip to content

Patching

Andreas Pardeike edited this page Jan 13, 2017 · 26 revisions

Patching

Each prefix and postfix gets all parameters of the original method as well as the instance (if original method is not static) and the return value. In order to patch a method your patches need to follow the following principles when defining them:

  • Prefix and postfix are static methods
  • A prefix must return a boolean
  • If original method is not static, prefix and postfix get the instance as the first parameter
  • A prefix gets a reference to the return value
  • Prefix and postfix get all original parameters as references
  • Prefix will not get any out parameters

Patch method parameters

// original method in class Customer
private List<string> getNames(int count, out Error error)

// prefix
static bool Prefix(Customer instance, ref List<string> result, ref int count)

// postfix
static void Postfix(Customer customer, ref List<string> result, ref int count, ref Error error)