• 反射


      想简化一些代码,就研究了一下反射,资料不少,感觉挺难,搞得似是而非。写了个小东西回顾一下反射的用法。

      建一个User类

     class User     {                        

    private string userid = "0001";         

    public string Userid        

     {             

     get { return userid; }            

     set { userid = value; }       

      }         

      private string userName = "aaa";           

         public string UserName{         

        get { return userName; }            

      set { userName = value; }         

    }         private string address = "bbb";       

      public string Address{            

      get { return address; }             

     set { address = value; }         

    }                 

    private string email = "ccc";       

      public string Email{             

    get { return email; }            

     set { email = value; }         

    }        

     private string phone = "ddd";        

     public string Phone         

    {              

    get { return phone; }            

     set { phone = value; }        

     }     }

      假如有个winform有个Phone属性,其值为88888888,可以这样来对其封装:

        Type type = typeof(User);

                  object obj = Activator.CreateInstance(type);              PropertyInfo[] props = type.GetProperties(BindingFlags.Public | BindingFlags.Instance); 

                User user=new User();  

               foreach (PropertyInfo p in props)

                {  

                   if (p.Name == "Phone")

                    {

                           p.SetValue(user"88888888");

                    }

                }

                Console.WriteLine(user.Phone+" "+user.Email+" "+user.Address);

                  Console.ReadKey();

  • 相关阅读:
    smtp实验(生成树协议)
    结合以太通道的vlan配置
    路由器基础配置之浮动静态路由
    路由器基础配置之rip
    路由器基础配置之静态路由
    路由器基础配置之单臂路由实现vlan间通信
    交换机基础配置之三层交换机实现vlan间通信
    交换机基础配置之stp生成树实验
    交换机基础配置之结合以太通道的vlan设置
    交换机基础设置之vtp管理vlan设置
  • 原文地址:https://www.cnblogs.com/xuekai-to-sharp/p/3374376.html
Copyright © 2020-2023  润新知