反射

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

  建一个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+"\n"+user.Email+"\n"+user.Address);

              Console.ReadKey();

转载于:https://www.cnblogs.com/xuekai-to-sharp/p/3374376.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值