C#怎么遍历一个对象里面的全部属性 包括子类的属性?

假设我有个类A,A有三个子类B,C,D。BCD有各自的方法和属性,如何遍历A得到B,C,D的属性和方法呢?... 假设我有个类A ,A 有三个子类 B,C,D 。BCD 有各自的方法和属性,如何遍历A 得到B,C,D的属性和方法呢? 展开
 我来答
FortuneGril
推荐于2016-06-13 · 超过19用户采纳过TA的回答
知道答主
回答量:63
采纳率:100%
帮助的人:47.2万
展开全部
Type t = tc.GetType();//获得该类的Type

//再用Type.GetProperties获得PropertyInfo[],然后就可以用foreach 遍历了
foreach (PropertyInfo pi in t.GetProperties
{
object value1 = pi.GetValue(tc, null));//用pi.GetValue获得值
string name = pi.Name;//获得属性的名字,后面就可以根据名字判断来进行些自己想要的操作
//获得属性的类型,进行判断然后进行以后的操作,例如判断获得的属性是整数
if(value1.GetType() == typeof(int))
{
//进行你想要的操作
}
}
public int Pid
{
get { return pid; }
set { pid = value; }
}
更多追问追答
追问

我的意思是遍历 ClassA ,分别得到BName Bid Cname Cid 四个结果,按你的方式 我只能得到b,c

要如何实例化 B C 来进行再一层的遍历呢?

追答
你实例化ClassA后  , ClassA ca = new ClassA();
直接用ca.b.Bname就可以了
ctlyh
2014-04-10 · 超过46用户采纳过TA的回答
知道小有建树答主
回答量:173
采纳率:100%
帮助的人:75万
展开全部
类实例.GetType().GetProperties();类实例.GetType()。GetMehtods();
追问
我把需求讲的更加具体了,帮忙解答下呗。谢谢了。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
阳光的雷咩咩
2014-04-11 · TA获得超过1.4万个赞
知道大有可为答主
回答量:2.3万
采纳率:66%
帮助的人:7617万
展开全部
留联系看,我的思路是遍历程序集内所有类,所有属性。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
侯洲明勇喵0b
2014-04-10 · 超过34用户采纳过TA的回答
知道答主
回答量:122
采纳率:0%
帮助的人:70万
展开全部
这个得用反射了,你在百度里面搜索关键字:C#反射
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式