C#使用反射访问对象属性方法

阿猿啊 2020/7/18 21:03:43

usingSystem;  usingSystem.Collections.Generic;  usingSystem.Linq;  usingSystem.Text;  usingSystem.Threading.Tasks;  usingSystem.ComponentModel;  usingSystem.Linq;  usingSystem.Reflection;  publicclassreflectModel  {  publicstaticvo…

  usingSystem;
  usingSystem.Collections.Generic;
  usingSystem.Linq;
  usingSystem.Text;
  usingSystem.Threading.Tasks;
  usingSystem.ComponentModel;
  usingSystem.Linq;
  usingSystem.Reflection;
  publicclassreflectModel
  {
  publicstaticvoidTestShowReflect()
  {
  //反射读取类私有属性
  Personper=newPerson(“ismallboy”,”20102100104″);
  Typet=per.GetType();
  //获取私有方法
  MethodInfomethod=t.GetMethod(“GetStuInfo”,BindingFlags.NonPublic|BindingFlags.Instance);
  //访问无参数私有方法
  stringstrTest=method.Invoke(per,null).ToString();C#使用反射访问对象属性方法
  //访问有参数私有方法
  MethodInfomethod2=t.GetMethod(“GetValue”,BindingFlags.NonPublic|BindingFlags.Instance);
  object[]par=newobject[2];
  par[0]=”ismallboy”;
  par[1]=2;
  stringstrTest2=method2.Invoke(per,par).ToString();
  //获取私有字段
  PropertyInfofield=t.GetProperty(“Name”,BindingFlags.NonPublic|BindingFlags.Instance);
  //访问私有字段值
  stringvalue=field.GetValue(per).ToString();
  //设置私有字段值
  field.SetValue(per,”newName”);
  value=field.GetValue(per).ToString();
  }
  }
  ///<summary>
  ///个人信息
  ///</summary>
  classPerson
  {
  privatestringName{get;set;}
  privatestringStuNo{get;set;}
  publicPerson(stringname,stringstuNo)
  {
  this.Name=name;
  this.StuNo=stuNo;
  }
  privatestringGetStuInfo()
  {
  returnthis.Name;
  }
  privatestringGetValue(stringstr,intn)
  {
  returnstr+n.ToString();
  }
  }
  reflectModel

随时随地学软件编程-关注百度小程序和微信小程序
关于找一找教程网

本站文章仅代表作者观点,不代表本站立场,所有文章非营利性免费分享。
本站提供了软件编程、网站开发技术、服务器运维、人工智能等等IT技术文章,希望广大程序员努力学习,让我们用科技改变世界。
[C#使用反射访问对象属性方法]http://www.zyiz.net/tech/detail-144169.html

上一篇:C#队列(Queue)解说及使用

下一篇:Unity C#热更新方案 ILRuntime学习笔记(二) 代码跨域调用

赞(0)

共有 条评论 网友评论

验证码: 看不清楚?
    关注微信小程序
    程序员编程王-随时随地学编程

    扫描二维码或查找【程序员编程王】

    可以随时随地学编程啦!

    技术文章导航 更多>
    扫一扫关注最新编程教程