Reflection C#

using System;
using System.Reflection;
public class Test
{
    public T TestField;
}
public class Example
{
    public static void Main()
    {
        RuntimeTypeHandle rth = typeof(Test).TypeHandle;
        RuntimeFieldHandle rfh = typeof(Test).GetField("TestField").FieldHandle;
        try
        {
            FieldInfo f1 = FieldInfo.GetFieldFromHandle(rfh);
        }
        catch(Exception ex)
        {
            Console.WriteLine("{0}: {1}", ex.GetType().Name, ex.Message);
        }
        FieldInfo fi = FieldInfo.GetFieldFromHandle(rfh, rth);
        Console.WriteLine("\r\nThe type of {0} is: {1}", fi.Name, fi.FieldType);
        fi = FieldInfo.GetFieldFromHandle(rfh, typeof(Test).TypeHandle);
        Console.WriteLine("\r\nThe type of {0} is: {1}", fi.Name, fi.FieldType);
        try
        {
            fi = FieldInfo.GetFieldFromHandle(rfh, typeof(Test).TypeHandle);
        }
        catch(Exception ex)
        {
            Console.WriteLine("\r\n{0}: {1}", ex.GetType().Name, ex.Message);
        }
    }
}