网上看了很多关于反射的思路和方法,发现这个还算不错

//使用反射方:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Reflection; namespace ConsoleApplication1
{
class Program
{
static void Main(string[] args)
{
//声明一个反射类对象
Assembly a; //让这个对象加载某个外部dll程序集信息.
a = Assembly.LoadFile(@"C:\Users\正月龙\Desktop\Person\Person\bin\Debug\Person.dll");
//反射出该dll程序集的名称信息.
Console.WriteLine(a.GetName());
Console.ReadKey(); //定义一个"类型信息"的对象.
Type t = a.GetType("Person.Person", false, true); //定义一个成员信息类对象数组,并从程序集中获取.
MemberInfo[] info = t.GetMembers(); //逐个返回成员的名字.
foreach (MemberInfo inf in info)
{
Console.WriteLine(inf.Name);
}
Console.ReadKey(); //定义一个成员方法对象,这里是指定方法名称来获取的.
MethodInfo method = t.GetMethod("show"); //定义一个查询构造函数的对象,获取时需给定签名.
ConstructorInfo coninfo = t.GetConstructor(new Type[] { typeof(int), typeof(string) }); //这里准备两个参数,封装为一个具有两个对象的数组.
object[] arg = new object[] { , "dog" }; //调用构造函数并赋值给一个对象.
object o = coninfo.Invoke(arg); //调用对象的方法
method.Invoke(o, null); //这是第二种调用对象的方法.都可以.
method.Invoke(o, BindingFlags.Public | BindingFlags.Instance , Type.DefaultBinder, null, null); Console.ReadKey();
}
}
}

//被查询或被调用方

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text; namespace Person
{
public class Person
{
private int int_a;
private string str_a; public Person()
{ } public Person(int a,string b)
{
this.int_a = a;
this.str_a = b;
} public void show()
{
Console.WriteLine(int_a.ToString()+":"+str_a);
Console.ReadKey();
}
}
}

C# 通过反射类动态调用DLL方法的更多相关文章

  1. 利用C#的反射机制动态调用DLL类库

    最近由于业务要求,需要动态调用DLL类库,所以研究了一下,感觉还好也不太难,今天就把自己理解的写了一个小例子(已经通过VS2005跑通),供大家一起研究和探讨,有理解不当的地方还请高手们多多指正,谢谢 ...

  2. C#程序实现动态调用DLL的研究(转)

    摘 要:在<csdn开发高手>2004年第03期中的<化功大法——将DLL嵌入EXE>一文,介绍了如何把一个动态链接库作为一个资源嵌入到可执行文件,在可执行文件运行时,自动从资 ...

  3. 用C#通过反射实现动态调用WebService 告别Web引用

    我们都知道,调用WebService可以在工程中对WebService地址进行WEB引用,但是这确实很不方便.我想能够利用配置文件灵活调用WebService.如何实现呢? 用C#通过反射实现动态调用 ...

  4. C#程序实现动态调用DLL的研究[转]

    摘   要: 在< csdn 开发高手> 2004 年第 03 期中的<化功大法——将 DLL 嵌入 EXE >一文,介绍了如何把一个动态链接库作为一个资源嵌入到可执行文件,在 ...

  5. C#程序实现动态调用DLL的研究

    摘 要:在<csdn开发高手>2004年第03期中的<化功大法——将DLL嵌入EXE>一文,介绍了如何把一个动态链接库作为一个资源嵌入到可执行文件,在可执行文件运行时,自动从资 ...

  6. 用C#通过反射实现动态调用WebService 告别Web引用(转载)

    我们都知道,调用WebService可以在工程中对WebService地址进行WEB引用,但是这确实很不方便.我想能够利用配置文件灵活调用WebService.如何实现呢? 用C#通过反射实现动态调用 ...

  7. 卸载AppDomain动态调用DLL异步线程执行失败

    应用场景 动态调用DLL中的类,执行类的方法实现业务插件功能 使用Assembly 来实现 但是会出现逻辑线程数异常的问题 使用AppDomain 实现动态调用,并卸载. 发现问题某个插件中开启异步线 ...

  8. C#中动态调用DLL动态链接库

    其中要使用两个未公开的Win32 API函数来存取控制台窗口,这就需要使用动态调用的方法,动态调用中使用的Windows API函数主要有三个,即:Loadlibrary,GetProcAddress ...

  9. C#中动态调用DLL动态链接库(转)

    本来是想实现控制台程序运行时自动全屏,但是只找到VC下的实现方法(http://www.vckbase.com/bbs/prime/viewprime.asp?id=347). 其中要使用两个未公开的 ...

随机推荐

  1. 日常积累oracle 有关信息

    对于VARCHAR2类型,我们在内存使用和效率上需要做出一个权衡.对于VARCHAR2(长度>=2000)变量,PL/SQL动态分配内存来存放实际值,但对于VARCHAR2(长度<2000 ...

  2. IOS JSON

    //请求数据 dispatch_async(dispatch_get_global_queue(, ), ^{ _dataArray=[NSMutableArray array]; NSString ...

  3. 前言,学习ios编程(坚持)

    其实,尝尝有人很疑惑,不知道自己要干嘛,看到很多的培训机构,不知道怎么选择但是又想进入软件行业.其实呢学习不一定要靠培训机构,一定要培训,特别是 当人家把自己吹的天花乱坠的时候,然并卵.出来之后,也只 ...

  4. BW知识问答锦集

    声明:原创作品,转载时请注明文章来自SAP师太技术博客( 博/客/园www.cnblogs.com):www.cnblogs.com/jiangzhengjun,并以超链接形式标明文章原始出处,否则将 ...

  5. AFNetworking的POST上传

    - (void)download { // 1.创建网络管理者 // AFHTTPSessionManager 基于NSURLSession AFHTTPSessionManager *manager ...

  6. Less环境搭建

    1.在页面中加入 .less 样式表的链接,并将 rel 属性设置为 "stylesheet/less": <link rel="stylesheet/less&q ...

  7. Codeforces 722D. Generating Sets

    D. Generating Sets time limit per test 2 seconds memory limit per test 256 megabytes input standard ...

  8. ajax请求总是进入Error里

    ajax请求时找到了正确的地址,执行完返回总是进入error里,并且浏览器错误显示是找不到请求的地址. 解决办法: 查看配置文件的,把maxJsonLength值改大. <system.web. ...

  9. mysql安装,配置。

    看到百度经验上有一篇文章比较好,后来发现是舍友写的,他同意后,便复制到我的博客园中,希望更多小白看到,原地址:http://jingyan.baidu.com/article/597035521d5d ...

  10. point

    7.10 []getch->_getch []错误:fatal error C1189: #error : EasyX is only for C++ :.c改为.cpp