Herry_zzz 2021-06-07 14:03 采纳率: 0%
浏览 53

C#怎么循环对象中的成员,在winform中应用

  class PrjInit   //创建类
    {
        public static MainForm _MainForm;//主页面   
        public static ChildPanelUI1 _ChildPanelUI1; //用于存放子页面
        public static ChildPanelUI2 _ChildPanelUI2;
        public static ChildPanelUI3 _ChildPanelUI3;
        public static ChildPanelUI4 _ChildPanelUI4;
        public static ChildPanelUI5 _ChildPanelUI5
    }

//下面是在初始化中加载

            if (PrjInitSet._ChildPanelUI1 == null)
            {
                PrjInitSet._ChildPanelUI1 = new ChildPanelUI1();//页面显示窗口
                panel2.Controls.Add(PrjInitSet._ChildPanelUI1);
                PrjInitSet._ChildPanelUI1.Dock = DockStyle.Fill;
            }

           if (PrjInitSet._ChildPanelUI2 == null)
            {
                PrjInitSet._ChildPanelUI2 = new ChildPanelUI2();//页面显示窗口
                panel2.Controls.Add(PrjInitSet._ChildPanelUI2);
                PrjInitSet._ChildPanelUI2.Dock = DockStyle.Fill;
            }

.......................................................

以上方面太麻烦,有没有更快捷的方法

  • 写回答

3条回答 默认 最新

  • CSDN专家-文盲老顾 2021-06-07 14:06
    关注

    使用反射,通过反射获取所有的属性,然后判断输出即可

    PrjInit cls_p = new PrjInit(); // 记住这个实例化的对象名
    //cls_p.各种操作
    
    //然后开始反射获得属性
    Type t = typeof(PrjInit)
    PropertyInfo[] pis = t.GetProperties();
    for(int i=0;i<pis.Length;i++)
    {
        PrepertyInfo pi = pis[i];
        string name = pi.Name; // 获得属性名称
        object val = pi.GetValue(cls_p); // 这里的参数就是你具体实例的对象
    }
    评论

报告相同问题?

悬赏问题

  • ¥20 机器学习能否像多层线性模型一样处理嵌套数据
  • ¥20 西门子S7-Graph,S7-300,梯形图
  • ¥50 用易语言http 访问不了网页
  • ¥50 safari浏览器fetch提交数据后数据丢失问题
  • ¥15 matlab不知道怎么改,求解答!!
  • ¥15 永磁直线电机的电流环pi调不出来
  • ¥15 用stata实现聚类的代码
  • ¥15 请问paddlehub能支持移动端开发吗?在Android studio上该如何部署?
  • ¥20 docker里部署springboot项目,访问不到扬声器
  • ¥15 netty整合springboot之后自动重连失效