也就是在一个泛型方法中可以直接使用 public void fun<t>(t obj) {}但是这在调用这个t 的时候 不知道这个 obj 的确切类型
但到的是个 Type对象啊 有什么办法获得 X类型啊
你以为普通正常使用泛型时,这个func<t>的参数t是运行时动态指定的吗?
即使是泛型,运行时对象的类型也是必须要对JIT是明确的才行,不管你是.Net 4.0里的dynamic或者var 不过你可以给某个类加泛型约束,比如 public class Test<T> where T : new() { public void fun<t>(t obj) { object obj = new T(); //这样是可以的,因为实例化时你的T已经很明确 } }上面所说的可能并不是LZ要问的,希望有所帮助
public void fun<t>(t obj)
{}但是这在调用这个t 的时候 不知道这个 obj 的确切类型
你以为普通正常使用泛型时,这个func<t>的参数t是运行时动态指定的吗?
不过你可以给某个类加泛型约束,比如 public class Test<T> where T : new()
{
public void fun<t>(t obj)
{
object obj = new T(); //这样是可以的,因为实例化时你的T已经很明确
}
}上面所说的可能并不是LZ要问的,希望有所帮助