社区
C#
帖子详情
C#反射泛型赋值问题求支援求助攻
Mike老羊
2014-09-11 03:13:23
我通过反射创建了一个对像,这个对像里面有个属性是泛型的,我又动态的创建了这个对像,请问我要怎么给这个泛型的对像赋值了?求支援求助攻
...全文
205
4
打赏
收藏
C#反射泛型赋值问题求支援求助攻
我通过反射创建了一个对像,这个对像里面有个属性是泛型的,我又动态的创建了这个对像,请问我要怎么给这个泛型的对像赋值了?求支援求助攻
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
4 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
Mike老羊
2014-09-11
打赏
举报
回复
if ((item.PropertyType.IsGenericType) && (column.SubItems != null)) { Type ftype = value.GetType(); var slistobj = CreateObject(column.SubItems.Assembly, column.SubItems.Type, true); Type ssType = slistobj.GetType(); MethodInfo method = ssType.GetMethod("Add"); BindingFlags flag = BindingFlags.Public; //List<object> liobj = new List<object>(); _tobj = CreateObject(column.SubItems.Assembly, column.SubItems.Type); int count = Convert.ToInt32(ftype.GetProperty("Count").GetValue(value, null)); object[] arrobj=new object[count]; for (int i = 0; i < count; i++) { object listItem = ftype.GetProperty("Item").GetValue(value, new object[] { i }); GetSubItem(column.SubItems, listItem, ref _tobj, listItem.GetType(), _tobj.GetType()); object[] parameters = new object[1]; parameters[0] = _tobj; Object robj = method.Invoke(slistobj, flag, Type.DefaultBinder, parameters, null); //GetSubItem(column.SubItems, listItem, ref _tobj, listItem.GetType(), _tobj.GetType()); //GetSubItem(column.SubItems, listItem, ref slistobj, listItem.GetType(), _tobj.GetType()); //arrobj[i] = listItem; //liobj.Add(_tobj); //liobj.Add(ss); //item.SetValue(Tobj, listItem,null; } item.SetValue(Tobj, slistobj, null); }
Mike老羊
2014-09-11
打赏
举报
回复
我的所有对像都是用反射创建的不能用上面的方法
lzp3438034
2014-09-11
打赏
举报
回复
泛型<你定义的类型> p = o as 泛型<你定义的类型>; p.add();
sunny906
2014-09-11
打赏
举报
回复
object o= t.GetProperty(propertyname).GetValue()obj,null; 泛型<你定义的类型> p = o as 泛型<你定义的类型>;
WPF多线程演示
WPF多线程演示
C#
利用
反射
给
泛
型
字段
赋值
public static List<T> ToList<T>( this OracleDataReader reader ) { List<T> list = new List<T>(); Type type = typeof( T ); while( rea...
C#
进阶课程委托
泛
型
详解篇
通过本课程的学习能轻松掌握委托,事件,
泛
型
,lambda表达式,特性,linq等技术知识点。本课程重点讲解了关于如上几个技术知识点。 主要针对初学者,以及工作一到三年,能知道这几个概念,但是具体不会实际应用的。...
C#
反射
泛
型
C#
反射
泛
型
摘自:http://www.itwis.com/html/net/c/20110411/10175.html
C#
泛
型
反射
和普通
反射
的区别,
泛
型
反射
和普通
反射
的区别就是
泛
型
参数的处理上 先看一个简单的例子。 class Class1 { public void Test(T t) { Console.WriteLine(t);
c#
:
泛
型
反射
1.
泛
型
类是类的模板
泛
型
类是类的模板,它不能被当做正常类来使用,比如说:不能创建实例。 如下: public class Person<T> { public string Name { get; set; } } 这个Person<T>是类的模板,它都不是正常的类,所以,不能创建实例,看下面: 比较迷惑的是:在写代码的时候也不区分它是不是
泛
型
类啊,比如: 这个NewInst<T>方法也没有报过错啊。 其实,NewInst```方法之所以不报错,
C#
110,555
社区成员
642,563
社区内容
发帖
与我相关
我的任务
C#
.NET技术 C#
复制链接
扫一扫
分享
社区描述
.NET技术 C#
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
让您成为最强悍的C#开发者
试试用AI创作助手写篇文章吧
+ 用AI写文章