自动将类中存储的信息呈现给用户

时间:2010-05-12 17:09:55

标签: .net

我正在从Web服务中检索信息并将其保存在一个包含多个字段(包括数组)的类中。

我只是想要一种向用户呈现该信息的方法。是否有一个组件将类作为参数,只是组织信息并在datagridview中显示它们(例如)?

谢谢。

3 个答案:

答案 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;