C#如何通过类名获取类,并进行相应的操作?

比如DataGrid列表控件有个数据源ItemSource=listA,DataGrid的Typestring属性(我自定义的)值为ClassA,也就是listA的数据类... 比如DataGrid列表控件有个数据源ItemSource=listA, DataGrid的Typestring属性(我自定义的)值为ClassA, 也就是listA的数据类型. 现在怎么把listA转换成类型为List<ClassA>的一个列表, 因为Typestring可能任意的一个类的类名, 所以需要一个通用的方法, 请大神指点啊 展开
 我来答
匿名用户
2013-07-17
展开全部
只有类名是不够的,要有程序集限定名称,例如:System.Int32, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089。
然后这样做:
Type tp = Type.GetType(String.Format("System.Collections.Generic.List`1[{0}]",Typestring));
dynamic obj = Activator.CreateInstance(tp);
obj.Clear();
等等。
追问
谢谢!
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
leiyangbdwk
推荐于2016-05-14 · TA获得超过3295个赞
知道大有可为答主
回答量:4975
采纳率:12%
帮助的人:4396万
展开全部

问得不够清楚。

  1. ItemSource=listA,listA是不是一个确定的类型?

  2. Typestring属性,大概是什么样?

  3. listA转换成类型为List<ClassA>的一个列表,念不通顺。

本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
清水栞
2013-07-17 · TA获得超过1547个赞
知道小有建树答主
回答量:1538
采纳率:50%
帮助的人:985万
展开全部
typeof(类名) 不知道是不是你要的东西
追问
不行,得到就是System.String,因为类名就是一个字符串
追答
哦,那你用反射,先找到对应程序集,再找类

反射是个大概念,最好系统地看一下,再下手
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式