反射泛型
来源:互联网 发布:android获取网络时间 编辑:程序博客网 时间:2024/05/21 17:52
1.使用反射替换类型中方法的泛型
//获取Apple<T>类型,`1作为泛型参数数目
var type = Type.GetType("UnitTest.Apple`1");//将Apple<T>中的泛型替换成指定的类型C
var appleType = type.MakeGenericType(new[] { Type.GetType("UnitTest.C") });
//生成Apple<T>实例
dynamic apple = Activator.CreateInstance(appleType);
//调用GetInfo方法
var list = apple.GetInfo();
namespace UnitTest
{
public class Apple<T> where T : new()
{
public List<T> GetInfo()
{
List<T> list = new List<T>();
T t1 = new T();
list.Add(t1);
return list;
}
}
}
2.替换类型中的泛型
var listType = typeof(List<>);
var listofType = listType.MakeGenericType(new[] { Type.GetType("UnitTest.C") });
dynamic list = Activator.CreateInstance(listofType);
list.Add(new C() { i1=1 });
list.Add(new C() { i1 = 2 });
var list1 = list;
0 0
- 反射之-反射与泛型 反射实现动态代理
- 反射-通过反射越过泛型检查
- 泛型与反射
- 泛型反射技巧
- 泛型与反射
- 泛型与反射
- 泛型与反射
- 反射和泛型
- 泛型与反射
- 泛型与反射
- 泛型与反射
- 泛型与反射
- 泛型与反射
- 泛型与反射
- 泛型和反射
- 泛型与反射
- 泛型和反射
- 泛型反射
- 自适应移动设备页面的设计
- 滚动时自动显示与隐藏导航条定制
- OpenWrt中libiconv-full不支持GBK编码的解决
- Android 命令生成签名keystore、ant编译打包流程
- javascript中replace与正则表达式
- 反射泛型
- Uva1625 线性DP
- HDU 4289 Control (网络流-最小割)
- SQL Server 2008 ADO连接数据库慢的解决方法
- 动态添加删除Option达到二级联动
- 翻译www.djangobook.com之第四章:Django模板系统
- 编程过程中字符编码乱码问题汇总
- 一个关于SQL Server memory计数器的系列讲座(很详细)
- Android TV 开发有关PopupWindow的KeyListener(手机也能用)