Reflection C#

using System;
using System.Reflection;
public class Example
{
    public static void Main()
    {
        MethodInfo mi = typeof(Example).GetMethod("MethodBodyExample");
        MethodBody mb = mi.GetMethodBody();
        Console.WriteLine("\r\nMethod: {0}", mi);
        Console.WriteLine(mb.InitLocals);
        Console.WriteLine(mb.MaxStackSize);
        foreach (LocalVariableInfo lvi in mb.LocalVariables)
        {
            Console.WriteLine("Local variable: {0}", lvi);
        }
        foreach (ExceptionHandlingClause ehc in mb.ExceptionHandlingClauses)
        {
            Console.WriteLine(ehc.Flags.ToString());
            switch (ehc.Flags)
            {
                case ExceptionHandlingClauseOptions.Filter:
                    Console.WriteLine(ehc.FilterOffset);
                    break;
                case ExceptionHandlingClauseOptions.Finally:
                    break;
                default:
                    Console.WriteLine(ehc.CatchType);
                    break;
            }
        }
    }
    public void MethodBodyExample(object arg)
    {
        int var1 = 42;
        string var2 = "Forty-two";
    }
}