tnblog
首页
视频
资源
登录

使用反射 访问 相关属性,字段,方法等

4941人阅读 2021/4/1 10:07 总访问:129259 评论:0 收藏:0 手机
分类: MVC
  1. //类
  2.  public class Method
  3.     {
  4.         public string Father { getset; }
  5.         public string Chlidname { getset; }
  6.         public int? count { getset; }
  7.         public decimal? sum { getset; }
  8.         public decimal? max { getset; }
  9.         public double? min { getset; }
  10.         public double? Avg { getset; }
  11.         public void Hello()
  12.         {
  13.             Console.WriteLine("Hello------");
  14.         }
  15.         public void SayHello(string aa)
  16.         {
  17.             Console.WriteLine("Hello------"+aa);
  18.         }
  19.         private void SayHellod(string aa,int bb)
  20.         {
  21.             Console.WriteLine("Hello------" + aa);
  22.         }
  23.         public void SayHellodT<T>()
  24.         {
  25.             Console.WriteLine("Hello------" );
  26.         }
  27.     }
  28.    static void Main(string[] args)
  29.         {
  30.             //使用反射可以根据字符串类型(类全名,类库名)
  31.             //反射可以访问属性,而且可以访问私有属性,可以给私有属性赋值
  32.             //反射可以访问字段,而且可以访问私有字段,可以给私有字段赋值
  33.             //反射可以调用方法,而且可以调用私有方法
  34.             Method method = new Method();
  35.             //反射可以拿到属性
  36.             //1拿到总属性
  37.              var ytpe= method.GetType();
  38.             
  39.             //2拿到该对象里面的属性
  40.             var ytpeinto = method.GetType().GetProperty("sum").PropertyType;         
  41.             var x = typeof(Method).GetProperty("sum").PropertyType;
  42.             Console.WriteLine(ytpe +"-----" +ytpeinto);
  43.             
  44.             //3调用duix里面的方法
  45.             //1用实例的对象来调用
  46.             method.GetType().GetMethod("Hello").Invoke(method, null);//Invoke(对象名,参数(调用的东西为空就写null))
  47.             
  48.             //2用对象名调用
  49.             typeof(Method).GetMethod("Hello").Invoke(method, null);
  50.             
  51.             //3调用有参数的值
  52.             typeof(Method).GetMethod("SayHello").Invoke(method, new object[] { "354346" });
  53.             
  54.             //4调用对象里面的私有     
  55.             typeof(Method).GetMethod("SayHellod", BindingFlags.NonPublic | BindingFlags.Instance).Invoke(method, new object[]{"5463",66});
  56.             
  57.             //5调用泛型类方法
  58.             var typed = method.GetType().GetProperty("Avg").PropertyType;
  59.             var TT = typeof(Method).GetMethod("SayHellodT");
  60.             TT = TT.MakeGenericMethod(typed);
  61.             TT.Invoke(method, null);
  62.         }
  63.     }


评价

微信开发三 使用反射根据消息类型自动调用不同方法

微信只会向我们一个地方推送消息,如果全部逻辑都写到一起,代码会非常多。所以我们可以考虑通过消息类型,来实现不同的消...

微信开发:使用反射+虚函数的方式分散处理微信不同消息类型

微信只会向我们一个地方推送消息,如果全部逻辑都写到一起,代码会非常多。所以我们可以考虑通过消息类型,来实现不同的消...

使用爬虫刷csdn博客访问

首先了解一下常见反爬虫的检测方法频率监测:有些网站会设置一种频率监测的机制,对于同一IP,若在一定时间内访问的速度超...

c webservice二:基本分布式访问

使用webservice接口有个好处就是可以分布式访问。例如我们在玩游戏的时候先要选择一个区,然后在进入游戏。这样是因为如果...

ado.net访问数据库的基本用法

放回datatable//1:开打数据库的连接 using(SqlConnectionconn=newSqlConnection(&quot;server=.;uid=sa;pwd=123456;databa...

使用Refit框架访问REST接口

改装是一个类型安全的REST开源库,是一套基于RESTful架构的.NET客户端实现,内部使用HttpClient类封装,可通过改装更加简单...

检索 COM 类工厂中 CLSID 为 {000209FF-0000-0000-C000-000000000046} 的组件时失败原因是出现以下错误: 80070005 拒绝访问

最近在做一个关于word,ppt,Excel在线预览的功能,期间出现了几个问题,也不算棘手,但是对于第一次使用office组件的人来...

解决前台无权访问跳转到登录页面

如题通过官网的API可知其中有一个全局拦截错误的事件$(document).ajaxError(function(ajaxError,jqXHR){ //jqXHR可直接...

iis 文件下载 防止直接从地址输入访问文件

我们限制iis可以访问的文件后缀,在webconfig中system.webServer节点配置一下即可&lt;security&gt; &lt;requestFiltering&...

文件下载拒绝访问 IIS没有权限问题

做文件下载报错看日志在需要访问的文件夹 右键--&gt;安全 然后查找添加IIS_ISERS即可但是这里要注意一下权限的问题,如果...

页面访问权限

[库存知识点]在很多网站或者我们自己项目的运用中可能有些页面或者功能不能共享他人,这时候我就给予权限本期--页面访问权...

.net core 通过不同Accept访问同方法请求不同方法处理

1.对于自定义的Accept需要进行注册比如我这里的application/vnd.cgzl.hateoas+jsonservices.AddMvc(option=&gt; { option...

设置登陆访问权限

首先创建一个文件夹Filters并新建一个类IsAuthorizeAttribute继承AuthorizeAttribute,分别重写两个方法,如下代码publiccl...

创建Web服务(ASMX)接口在访问接口遇到的错误

在访问两个以上接口遇到的错误解决办法:在运行时首先会报首先在配置文件删除两个相同的其中一个然后这个问题就解决了但是...

net core无法使用http访问

是因为默认开启了Https重定向,去掉就好了
.
排名
28
文章
25
粉丝
8
评论
0
ICP备案 :渝ICP备18016597号-1
网站信息:2018-2025TNBLOG.NET
技术交流:群号656732739
联系我们:contact@tnblog.net
公网安备:50010702506256
欢迎加群交流技术