我正在从Web服务中检索信息并将其保存在一个包含多个字段(包括数组)的类中。
我只是想要一种向用户呈现该信息的方法。是否有一个组件将类作为参数,只是组织信息并在datagridview中显示它们(例如)?
谢谢。
答案 0 :(得分:0)
你使用反射来解决这个问题,请在谷歌上找到更多相关信息。
其中一个演示:
static void Main(string[] args)
{
object obj = new Employee();
Type t = obj.GetType();
try
{
System.Reflection.PropertyInfo minfo = t.GetProperties().First(m => m.Name == "ABC");
Console.WriteLine(minfo.Name);
}
catch (Exception ex)
{
Console.WriteLine("Member not found");
}
Console.ReadLine();
}
另一个例子:
protected void setControl(Object obj)
{
Type t = obj.GetType();
foreach (System.Reflection.PropertyInfo minfo in t.GetProperties())
{
try
{
string s = (minfo.GetValue(obj, null)).ToString();
}
catch (Exception ex)
{
Console.WriteLine("Member not found");
}
}
}
答案 1 :(得分:0)
由于响应是可序列化的,因此您可以很容易地将其映射到类似TreeView的内容。即使你有一个类作为你的响应对象,并且你可以使用Reflection来遍历它,我可能会将它序列化然后遍历XML,尽管我认为它只是一个偏好点。
答案 2 :(得分:0)
如果您只想找到向用户显示课程属性的方法,可以尝试使用PropertyGrid(http://msdn.microsoft.com/en-us/library/aa302326.aspx)。
它允许简单表示常见数据类型,但也允许您在需要时添加自定义表示。
最简单的说,你只需要设置你想要表示的对象:
propertyGrid1.SelectedObject = myObject;