我的方法是它的签名看起来像
public object LoadCache(string cacheName,Type returnType)
并且从这个方法中调用另一个方法,就像这样的签名
BBCacheProvider.BbCacheProvider.GetCache<T>(string cacheName);
有没有办法在方法中将returnType参数作为T发送?
我相信没有办法做到这一点!但必须有办法绕过它!
答案 0 :(得分:0)
我在这里发现了一个类似的Solution我根据需要改变了它。所以反思是英雄。
public void ClientCacheLoadRerquest(Type tType, string key)
{
MethodInfo method = this.GetType().GetMethod("GetCache");
MethodInfo closedMethod = method.MakeGenericMethod(tType);
closedMethod.Invoke(this, new object[] { key });
}