C#反射调用小DEMO
程序集的源代码:
namespace DesignMode
{
class IOCTest
{
public void TestO()
{
Console.WriteLine("O方法");
} public void TestA(string strA)
{
string res = "A方法||";
Console.WriteLine(res+strA);
} public string TestB()
{
string res="B方法";
Console.WriteLine(res);
return res;
} public int TestC(int num, string strC)
{
if (num == )
{
Console.WriteLine("C方法的C#||" + strC);
return ;
}
else
{
Console.WriteLine("C方法的JAVA||" + strC);
return ;
}
}
}
)
反射调用源代码:
////无参
//var a = Assembly.Load("DesignMode").CreateInstance("DesignMode.IOCTest").GetType().GetMethod("TestO");
////第一个参数表示该方法所在类,第二个参数表示该方法的参数
//a.Invoke(Assembly.Load("DesignMode").CreateInstance("DesignMode.IOCTest"), null); ////一个参数
//var a1 = Assembly.Load("DesignMode").CreateInstance("DesignMode.IOCTest").GetType().GetMethod("TestA");
////第一个参数表示该方法所在类,第二个参数表示该方法的参数
//a1.Invoke(Assembly.Load("DesignMode").CreateInstance("DesignMode.IOCTest"), new object[] { "百事可乐赢大奖" }); ////两个参数有返回值
//var a2 = Assembly.Load("DesignMode").CreateInstance("DesignMode.IOCTest").GetType().GetMethod("TestC");
////第一个参数表示该方法所在类,第二个参数表示该方法的参数
//var res = a2.Invoke(Assembly.Load("DesignMode").CreateInstance("DesignMode.IOCTest"), new object[] {0, "百事可乐赢大奖" }); //无参有返回值
var a3 = Assembly.Load("DesignMode").CreateInstance("DesignMode.IOCTest").GetType().GetMethod("TestB");
//第一个参数表示该方法所在类,第二个参数表示该方法的参数
var res1 = a3.Invoke(Assembly.Load("DesignMode").CreateInstance("DesignMode.IOCTest"), new object[] { });
C#反射调用小DEMO的更多相关文章
- dubbo泛化调用 小demo
前两天刚好有个同事来问是否用过 dubbo泛化 调用,不需要通过指定配置.第一次听到的时候,还是有点懵,但觉得有意思,可以学点东西. 立马百度了,找了demo,这篇比较容易上手(http://www. ...
- java 中的线程池和线程 调用小demo
public class Main { public static void main(String[] args) { try { /// ThreadPoolExecutor executor = ...
- iOS11 SDK 新特性 CoreML 及swift 小demo
github代码 如果本博客对您有帮助,希望可以得到您的赞赏! swift 机器学习Core ML的简单调用小demo.完整代码附上: https://github.com/Liuyubao/LYBC ...
- python 反射调用
因为目前在写一个python的项目,用到了Python的反射机制,所以做一下笔记,把写项目过程中的感悟记下来. 先简单介绍下Demo用到的函数: sys.path 是python的模块的路径集,是一个 ...
- .NET/C# 反射的的性能数据,以及高性能开发建议(反射获取 Attribute 和反射调用方法)——转载
原文链接:https://blog.walterlv.com/post/dotnet-high-performance-reflection-suggestions.html ***** 大家都说反射 ...
- .NET Core/Framework 创建委托以大幅度提高反射调用的性能
都知道反射伤性能,但不得不反射的时候又怎么办呢?当真的被问题逼迫的时候还是能找到解决办法的. 为反射得到的方法创建一个委托,此后调用此委托将能够提高近乎直接调用方法本身的性能.(当然 Emit 也能够 ...
- 原 .NET/C# 反射的的性能数据,以及高性能开发建议(反射获取 Attribute 和反射调用方法)
大家都说反射耗性能,但是到底有多耗性能,哪些反射方法更耗性能:这些问题却没有统一的描述. 本文将用数据说明反射各个方法和替代方法的性能差异,并提供一些反射代码的编写建议.为了解决反射的性能问题,你可以 ...
- RPC框架学习+小Demo实例
一.什么是RPC协议? 全称:远程过程调度协议 效果:使消费者向调用本地方法一样调用远程服务方法,对使用者透明 目前常用:Dubbo.Thirft.Sofa.... 功能: 建立远程通信(socket ...
- Nancy之基于Nancy.Owin的小Demo
前面做了基于Nancy.Hosting.Aspnet和Nancy.Hosting.Self的小Demo 今天我们来做个基于Nancy.Owin的小Demo 开始之前我们来说说什么是Owin和Katan ...
随机推荐
- Flutter实战视频-移动电商-39.路由_Fluro的路由配置和静态化
39.路由_Fluro的路由配置和静态化 handler只是单个路由的配置,这节课我们要学习路由的整体配置 整体配置 新建routers.dart文件来做整体配置 detailsHandler就是我们 ...
- 移动端UI资源
1.Flat UI Free http://designmodo.github.io/Flat-UI/ 2.POP 原型工具 http://mobilehub.io/products/pop 3.ei ...
- PyInstaller 库
将.py 源代码转换成无需源代码的可执行文件 首先,PyInstaller是第三方库,需要下载额外安装(安装第三方库需要使用pip工具) 步骤: 1.用管理员运行cmd命令行 "pip in ...
- mysql ERROR 2003 (HY000): Can't connect to MySQL server on '' (10060
关闭防火墙即可连接成功: systemctl stop firewalld
- [題解](最短路/二分)luogu_P1462通往奧格瑞瑪的道路
看到最大的最小值應該想到二分答案,這樣就解決了最小點權的問題,判血量就很好說,直接比較就行, 一個點是二分點權數組,複製一份然後排序,二分下標,速度較快 這麼簡單的題我竟然寫了這麼長時間 #inclu ...
- JS创建函数的方法
方法一:函数声明. function foo(){ } 方法二:函数表达式. var foo=function(){ } 另外还有一种自执行函数表达式.主要用于创建一个新的作用域,在此作用域内声明的变 ...
- saltstack_API接口
1 介绍 saltstack部署完后,要和master交互,就需要使用/usr/bin/salt这个工具.but..我不想手动到salt服务器上去执行这个命令,而是让web工具来调用salt. sal ...
- VMware虚拟机文件(后缀)详解
VMware虚拟机文件(后缀)详解 虚拟机的文件管理由VMware Workstation来执行,一个虚拟机一般以一系列文件的形式储存在宿主机中,这些文件一般在由workstation为虚拟机所创建的 ...
- 普通平衡树与文艺平衡树的splay代码
主要综合借鉴了yyb和马前卒两位大佬的. //普通平衡树 #include <cstdio> #include <cctype> #include <cstring> ...
- SpringMVC-异常处理器
1. 异常处理思路 系统中异常包括两类:预期异常和运行时异常RuntimeException,前者通过捕获异常从而获取异常信息,后者主要通过规范代码开发.测试通过手段减少运行时异常的发生. 系统 ...