如何获得genericstypes参数的types名称?

如果我有一个方法签名像

public string myMethod<T>( ... ) 

我怎么能在方法里面得到作为types参数给出的types的名字? 我想要做类似于typeof(T).FullName ,但实际上工作…

你的代码应该工作。 typeof(T).FullName是完全有效的。 这是一个完全编译,function正常的程序:

 using System; class Program { public static string MyMethod<T>() { return typeof(T).FullName; } static void Main(string[] args) { Console.WriteLine(MyMethod<int>()); Console.ReadKey(); } } 

运行上面的打印(按预期):

 System.Int32 

假设你有一个可用的T的实例,它没有任何其他types的不同。

 var t = new T(); var name = t.GetType().FullName; 

typeof(T).Name和typeof(T).FullName正在为我工​​作…我得到的types作为parameter passing。