public static object create(Type t) {
return Activator.CreateInstance(t);
public static void Main()
Console.WriteLine("{0}", typeof(Nullable<int>).FullName);
Console.WriteLine("{0}", create(typeof(char)).GetType().FullName);
Console.WriteLine("{0}", create(typeof(uint)).GetType().FullName);
Console.WriteLine("{0}", create(typeof(B)).GetType().FullName);
Console.WriteLine("{0}", create(typeof(Nullable<char>)).GetType().FullName);
Console.WriteLine("{0}", create(typeof(Nullable<uint>)).GetType().FullName);
Console.WriteLine("{0}", create(typeof(Nullable<B>)).GetType().FullName);