社区
C#
帖子详情
C#反射泛型赋值问题求支援求助攻
Mike老羊
2014-09-11 03:13:23
我通过反射创建了一个对像,这个对像里面有个属性是泛型的,我又动态的创建了这个对像,请问我要怎么给这个泛型的对像赋值了?求支援求助攻
...全文
229
4
打赏
收藏
C#反射泛型赋值问题求支援求助攻
我通过反射创建了一个对像,这个对像里面有个属性是泛型的,我又动态的创建了这个对像,请问我要怎么给这个泛型的对像赋值了?求支援求助攻
复制链接
扫一扫
分享
转发到动态
举报
AI
作业
写回复
配置赞助广告
用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 泛型<你定义的类型>;
C#
利用
反射
给
泛型
字段
赋值
public static List<T> ToList<T>( this OracleDataReader reader ) { List<T> list = new List<T>(); Type type = typeof( T ); while( rea...
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#
泛型
初始化 和 给
泛型
属性
赋值
(笔记)
利用
反射
给
泛型
实例化 和 给
泛型
属性
赋值
public IList Tlist(DataTable dt) { IList tlist = new List(); if (dt.Rows.Count > 0) { System.Type t = typeof(T);
C#
学习笔记4(
泛型
与
反射
)
泛型
(Generic),是将不确定的类型预先定义下来的一种
C#
高级语法,我们在使用一个类,接口或者方法前,不知道用户将来传什么类型,或者我们写的类,接口或方法相同的代码可以服务不同的类型,就可以定义为
泛型
。通俗的讲就是:
泛型
允许编写一个可以与任何数据类型一起工作的类或方法。(与C++中的模板相类似)类:class 类名函数:返回值类型 函数名(参数1 ,参数2...)
C#
111,112
社区成员
642,554
社区内容
发帖
与我相关
我的任务
C#
.NET技术 C#
复制链接
扫一扫
分享
社区描述
.NET技术 C#
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
让您成为最强悍的C#开发者
试试用AI创作助手写篇文章吧
+ 用AI写文章