Some useful reflection helpers, including an IL disassembler.
Switch branches/tags
Nothing to show
Fetching latest commit…
Cannot retrieve the latest commit at this time.


Mono.Reflection is an helper library to complement the System.Reflection and System.Reflection.Emit namespaces.

It works on both Mono >= 2.8 and .net >= 4.0.


public sealed class Image {
	public static bool IsAssembly (string fileName) {}
	public static bool IsAssembly (Stream stream) {}

Test whether a file is a managed assembly or not.

public static class BackingFieldResolver {
	public static FieldInfo GetBackingField (this PropertyInfo self) {}

Returns the field backing a property or throws an InvalidOperationException.

public static class Disassembler {
	public static IList<Instruction> GetInstructions (this MethodBase self) {}

Returns a read only collection of Instruction representing the IL method body or throws an ArgumentException if the method doesn't provide a body.

public class Instruction {
	public int Offset { get; }
	public OpCode OpCode { get; }
	public object Operand { get; }

	public Instruction Next { get; }
	public Instruction Previous { get; }

Represents an IL instruction.