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 ...
随机推荐
- 反射invoke()方法
invoke()方法: 主要是为了类反射,可以在不知道具体类的情况下,根据配置字符串去调用一个类的方法.最简单的方法是可以把方法参数化. main.invoke(): 比如Test类里有 ...
- UVaLive 10859 Placing Lampposts (树形DP)
题意:给定一个无向无环图,要在一些顶点上放灯使得每条边都能被照亮,问灯的最少数,并且被两盏灯照亮边数尽量多. 析:其实就是一个森林,由于是独立的,所以我们可以单独来看每棵树,dp[i][0] 表示不在 ...
- 共相式GIS
今天看到SuperMap中一直提到共相式GIS,于是乎搜索一下……SuperMap的共相式怎么理解呢?iServer Java有咋理解呢??? 再谈共相式GIS和ArcObjects:ttp://ww ...
- 719. Find K-th Smallest Pair Distance
Given an integer array, return the k-th smallest distance among all the pairs. The distance of a pai ...
- Android studio改包名
http://www.cnblogs.com/Kyouhui/p/4632813.html Android Studio,咱们开发安卓的利器,自推出就受到移动开发者的追捧,但一路走来,大家谈到他,充满 ...
- CSproject文件总是在Solution中被修改PROJECT GUID问题
1.情况: 打开2个Solution 一个是client,一个是server 他们会互相修改GUID,切换solution的时候都会显示 xxxxx已经被外部修改云云 2.原因: 一般是在其中一个So ...
- 如何使Label有修改功能
如何使Label有修改功能 之前制作一个项目时需要这样一个功能: 双击Label, 随后Label变为TextBox,用户修改后回车,TextBox变回Label 之前使用WPF做了一个,代码如下: ...
- 【BZOJ1174】: [Balkan2007]Toponyms
→原题← ↑这样子我就不复制题面啦~ 就是一题很裸的字典树而已,不过空间卡的很死,直接开个数组 tr[N][52] 什么之类的一定会RE的(惨痛的教训) 当字典树空间不够而时间限制又比较宽松时,我们可 ...
- TensorFlow数据集(一)——数据集的基本使用方法
参考书 <TensorFlow:实战Google深度学习框架>(第2版) 例子:从一个张量创建一个数据集,遍历这个数据集,并对每个输入输出y = x^2 的值. #!/usr/bin/en ...
- (转)关于MongoDB你需要知道的几件事
本文列举了颇让作者困惑的一些MongoDB限制,如果你也打算使用MongoDB,那么至少要提前了解这些限制,以免遇到的时候措手不及. 消耗磁盘空间 这是我的第一个困惑:MongoDB会消耗太多的磁盘空 ...