Reflection C#

using System;
class MyClass {
    public void FunctionA(K argk, V argv) {
    }
}
class XClass {
    public void FunctionB(T argt) {
    }
}
class Starter {
    public static void Main() {
        MyClass obj = new MyClass();
        Type typeClosed = obj.GetType();
        Console.WriteLine(typeClosed.ToString());
        Type typeOpen = Type.GetType("CSharpBook.XClass`1");
        Console.WriteLine(typeOpen.ToString());
        Type typeClosed2 = Type.GetType(
            "CSharpBook.MyClass`2[System.Int32, System.Decimal]");
        Console.WriteLine(typeClosed2.ToString());
    }
}