相信没分也能解决问题。请高人指点。

dingliang106 2009-05-20 02:27:58
新手
各位大大。这次情况可能不一样。帮帮忙。
我往一个方法里传递了一个实体类的类型。
private void button1_Click(object sender, EventArgs e)
{
FenLei f = new FenLei();
f.Id = 1;
f.TypeName = "dsfa";
f.ParentId = 2;

aa(f.GetType());
}

然后我想通过这个类型拿到这个类的实例并且拿到值。
我是这样写的。

public void aa(Type type)
{
PropertyInfo[] p = type.GetProperties();
MessageBox.Show(p.Length.ToString());
for (int i = 0; i < p.Length; i++)
{
MessageBox.Show(p[i].GetValue());
}

}

我不知道那个getvalue能不能得到。因为我不知道它里面的一大堆参数怎么传。但我想了一下估计不行。可能压根我的方式就错了。请各位高手帮忙。

我的目的。是要通过这个引用拿到在事件里实例化并且赋值的对象的值。


在线等。急急。。
...全文
45 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
Simonzy 2009-05-20
  • 打赏
  • 举报
回复
还有这句:
MessageBox.Show(p[i].GetValue(instance,null));
Simonzy 2009-05-20
  • 打赏
  • 举报
回复

多看看MSDN的帮助吧
红色的代码可以运行的。

private void button1_Click(object sender, EventArgs e)
{
FenLei f = new FenLei();
f.Id = 1;
f.TypeName = "dsfa";
f.ParentId = 2;

aa(f.GetType(),f);
}

public void aa(Type type,object instance)
{
PropertyInfo[] p = type.GetProperties();
MessageBox.Show(p.Length.ToString());
for (int i = 0; i < p.Length; i++)
{
MessageBox.Show(p[i].GetValue(instance,null));
}

}

110,536

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧