反射之关于MethodInfo的使用

1、MethodInfo类是在System.Reflection命名空间底下,既然是在Reflection空间底下。故名思议关于反射相关的操作,其中比较重要的方法是Invoke()方法,它
是加载相同程序集的方法。简单用法

string command = "AnnouncementSave";
//通过反射获取调用的具体方法
System.Reflection.MethodInfo method = this.GetType().GetMethod(command);
if (method != null)
{
//Execute Method
method.Invoke(this, new object[] { context });
}

调用方法:

public void AnnouncementSave(HttpContext context)
{

}

2.一段使用了很多反射技术的代码

public CommonValid(object m){if (m != null){PropertyInfo[] pis = m.GetType().GetProperties();if (pis != null){foreach (PropertyInfo pi in pis){object[] attrs = System.Attribute.GetCustomAttributes(pi);foreach (object attr in attrs){if (attr.GetType().Namespace == "Soffice.DevelopFramework.Common.Valid"){Type t = typeof(Soffice.DevelopFramework.Common.Valid.Methods);MethodInfo mi = t.GetMethod(attr.GetType().Name);if (mi != null){bool result = (bool)mi.Invoke(null, new object[] { attr, pi.GetValue(m, null) });if (!result){ValidResult validResult = new ValidResult();MethodInfo MethodGetNum = attr.GetType().GetMethod("GetNum");if (MethodGetNum != null){validResult.Num = (int)MethodGetNum.Invoke(attr, null);}//ValidResult validResult = new ValidResult();//validResult.Num = int.Parse(t.GetProperty("Num").GetValue(attr, null).ToString());//listValid.Add(validResult);
                                    }}}}}}}}

 

转载于:https://www.cnblogs.com/weiweithe/p/4424118.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/574659.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

vue添加定位功能_Vue如何实现锚点定位功能?

整个链路应该是这样的,用户在消息中心中看到回复自己的信息,点进去后会跳到视频播放页面,页面url中会带上此次消息的replyId(就简称rid吧),然后接下来的问题就是有两个,一个是评论本身是分页的,你的评论不一…

织梦直接往数据库写入数据

x: 不是必须的 1: 值为1 0: 值为0转载于:https://www.cnblogs.com/bushe/p/4425298.html

wshttpbinding java_WCF自定义用户账号密码之WCF系结模式wsHttpBinding的Java调用

再回到编辑Web服务属性设定画面﹐刚刚所点击的[使用开发默认值]的复选框如果已经有被勾选了﹐请将勾选取消。然后先离开编辑Web服务属性设定画面。1.7. 加入CallbackHandler 档案这里需要加入一个继承CallbackHandler的档案TrustStoreCallbackHandler.javapublic class TrustSt…

.jardesc文件

第一次导出jar文件的时候可以选择记录配置到一个这样的文件中;下次导出的时候,点这个文件->右键->创建jar(或双击),就可以重新生成jar文件了转载于:https://www.cnblogs.com/erbin/p/4427997.html

java中postMethod_HttpClient结合PostMethod调用接口

解决方法:HttpClient client new HttpClient();PostMethod post new PostMethod("http://192.168.0.189:8500/short");post.addRequestHeader("Content-Type", "application/x-www-form-urlencoded;charsetutf-8");// 在头文件中设…

WPF 颜色转换

从字符串到画刷: var converter new System.Windows.Media.BrushConverter(); var brush (Brush)converter.ConvertFromString("#FFFFFF90"); Fill brush; 转载于:https://www.cnblogs.com/xpvincent/p/4431514.html

android指纹java_Android

Android M指纹的资料太少,经过一段时间阅读原生Android代码,写了以下例子,贡献出来给需要帮助的人。以下内容基于64位的高通CPU,搭载fpc1020芯片,此部分代码在原生android上做了更改,以应付工厂指纹的测试。…

about-ie下模拟input file上传功能失效

Q:IE9下file提交到iframe中,load一直不触发,其他高级浏览器均无此问题 解决方案:不使用js模拟 input click事件,取而代之的是把真实的input设置为要触发元素的大小,进行触发onchange原因分析:低…

java把收集的数据节点_java面试题收集(04)

1、rebbitmq的使用场景有哪些?(1)单发送单接受使用场景:简单的发送与接受,没有特别的处理。(2)单发送多接受使用场景:一个发送端,多个接收端,如分布式的任务发布,要保证消息发送的可靠性&#x…

go java gc_图解Golang的GC垃圾回收算法

虽然Golang的GC自打一开始,就被人所诟病,但是经过这么多年的发展,Golang的GC已经改善了非常多,变得非常优秀了。以下是Golang GC算法的里程碑:v1.1 STWv1.3 Mark STW, Sweep 并行v1.5 三色标记法v1.8 hybrid write bar…

统计学的经典书籍指南 (转载自:http://blog.csdn.net/ysuncn/article/details/1943679)...

一、统计学基础部分 1、《统计学》 David Freedman等著,魏宗舒,施锡铨等译 中国统计出版社 据说是统计思想讲得最好的一本书,读了部分章节,受益很多。整本书几乎没有公式,但是讲到了统计思想的精髓。 2、《Mind on …

Linux Bash Shell j简单入门

BASH 的基本语法 最简单的例子 —— Hello World! 关于输入、输出和错误输出 BASH 中对变量的规定(与 C 语言的异同) BASH 中的基本流程控制语法 函数的使用 2.1 最简单的例子 —— Hello World! 几乎所有的讲解编程的书给读者的第一个例子都是 …

jpa mysql脚本迁移_JPA通过LOAD DATA LOCAL INFILE大批量导入数据到MySQL

连接层代码:import org.hibernate.Session;import org.hibernate.internal.SessionFactoryImpl;import org.springframework.jdbc.support.nativejdbc.C3P0NativeJdbcExtractor;import java.sql.Connection;import java.sql.PreparedStatement;import java.sql.SQLE…

javascript的事件冒泡,阻止事件冒泡和事件委托, 事件委托是事件冒泡的一个应用。...

2018年12月13日更新 <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><title>Title</title><style>ul li{border: 1px solid yellow;}</style> </head> <body> <p hidden>…

php 序列化 java_PHP--序列化与反序列化详解

PHP--序列化与反序列化详解博客说明文章所涉及的资料来自互联网整理和个人总结&#xff0c;意在于个人学习和经验汇总&#xff0c;如有什么地方侵权&#xff0c;请联系本人删除&#xff0c;谢谢&#xff01;说明所有php里面的值都可以使用函数serialize()来返回一个包含字节流的…

hadoop2.x的变化

HDFS Federation&#xff08;HDFS联邦&#xff09; HDFS有两个主要层&#xff1a; Namespace 由目录、文件和块组成&#xff1b;支持所有命名空间对文件和目录的操作。 Block Storage Service 由Block Management和Storage组成。 Block Management 提供dataNode集群成员关系&am…

python enumeration_python枚举防止无效的属性分配

要使枚举类完全“只读”,只需要使用__setattr__hook防止全部的属性分配。因为元类附加到类之后它是创建的,分配正确的枚举值没有问题。就像伊桑的回答一样,我用的是EnumMeta类作为自定义元类的基础:from enum import EnumMeta, Enumclass FrozenEnumMeta(EnumMeta):"Enum …

java wps linux 安装_ubuntu安装Java开发环境

1. 从sun主页JDK for Linux版本。这里的是jdk-6u6--i586.bin.2. 用root用户登录ubuntu&#xff0c;或是在普通用户下用su命令切换用户。切换到所需的安装目录。类型&#xff1a;cd 例如&#xff0c;要在 /usr/java/ 目录中 安装软件&#xff0c;请键入&#xff1a;cd /usr…

[BZOJ 2594] [Wc2006]水管局长数据加强版 【LCT】

题目链接&#xff1a;BZOJ - 2594 题目分析 这道题如果没有删边的操作&#xff0c;那么就是 NOIP2013 货车运输&#xff0c;求两点之间的一条路径&#xff0c;使得边权最大的边的边权尽量小。 那么&#xff0c;这条路径就是最小生成树上这两点之间的路径。 然而现在有了删边操作…

vs升级c++项目遇到的一些问题

1、error C1189: #error : This file requires _WIN32_WINNT to be #defined at least to 0x0403. Value 0x0501 or higher is recommended. 在工程的stdafx.h中&#xff0c;改为如下配置&#xff1a; #ifndef WINVER #define WINVER 0x0501 #endif #ifndef _WIN32_WINNT #def…