.net 自动向用户显示类中存储的信息

.net 自动向用户显示类中存储的信息,.net,.net,我正在从web服务检索信息,并将其保存在一个包含多个字段(包括数组)的类中 我只是想要一种向用户展示信息的方式。是否有一个组件将类作为参数,只组织信息并在datagridview中显示它们(例如) 谢谢。您使用反射来解决此问题,请在谷歌上了解更多信息 演示之一: static void Main(string[] args) { object obj = new Employee(); Type t = obj.GetType();

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

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


谢谢。

您使用反射来解决此问题,请在谷歌上了解更多信息

演示之一:

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");
        }
    }
}

由于响应是可序列化的,您可能也可以很容易地将其映射到类似TreeView的内容。尽管您有一个类作为响应对象,并且可以使用反射遍历它,但我可能会序列化它,然后遍历XML,尽管我认为这只是一个偏好点。

如果您只是在寻找一种向用户显示类属性的方法,您可以尝试PropertyGrid()

它允许通用数据类型的简单表示,但也允许您在需要时添加自定义表示

在最简单的情况下,您只需设置要表示的对象:

            propertyGrid1.SelectedObject = myObject;

这看起来就像它只是从类中获取了一个特定的属性(如果它存在的话)——你能使用反射遍历一个你不知道其布局的类并包含所有属性吗?这只是我想展示的演示,看看它能工作的另一个代码