利用传入的Type类型来调用范型方法的解决方案
利用传入的Type类型来调用范型方法的解决方案
起因:自定义一个GridView控件,其数据源来源于一个通用方法Get
我希望使用的是从外边传过来的类型tt来调用test1范型方法
class Program
{
static void Main(string[] args)
{
MyClass m = new MyClass();
m.tt = typeof(Program);
m.test2();
}
}
class MyClass
{
public Type tt { get; set; }
public int userid { get; set; }
public string Name { get; set; }
public string test2()
{
// test1 <T>();
我希望使用的是从外边传过来的类型tt来调用test1范型方法
}
public string test1 <T>()
{
return typeof(T).ToString();
}
}
解决方案:
class MyClass
{
public Type tt { get; set; }
public int userid { get; set; }
public string Name { get; set; }
public string test2()
{
object result = typeof(MyClass).GetMethod(“test1”).
MakeGenericMethod(tt).Invoke(this, null);
return result.ToString();
}
public string test1
{
return typeof(T).ToString();
}
}
内容分享自:http://www.cnblogs.com/nuaalfm/archive/2009/02/24/1397340.html 谢谢。