How do I get the type name of a generic type argument?
typeof(T).Name
and typeof(T).FullName
are working for me. I get the type passed as an argument.
Your code should work. typeof(T).FullName
is perfectly valid. This is a fully compiling, functioning program:
using System;
class Program
{
public static string MyMethod<T>()
{
return typeof(T).FullName;
}
static void Main(string[] args)
{
Console.WriteLine(MyMethod<int>());
Console.ReadKey();
}
}
Running the above prints (as expected):
System.Int32