string strPath = HttpContext.Current.Server.MapPath("/开放式DLL");
DirectoryInfo df = new DirectoryInfo(strPath);
System.IO.FileInfo[] fr = df.GetFiles();
foreach (System.IO.FileInfo f in fr)
{
if (f.Name.EndsWith("CNKI_Mngr.dll"))
{
System.Reflection.Assembly Mngrass = System.Reflection.Assembly.LoadFrom(f.FullName);//加载程序集 Type cnkiStructtp = Mngrass.GetType("CNKI_Mngr.UserStruct");//获取程序集中的实体对象
Type cnkiBasetp = Mngrass.GetType("CNKI_Mngr.UserBaseInfo");
Type cnkiComtp = Mngrass.GetType("CNKI_Mngr.UserComInfo");
object obj1 = System.Activator.CreateInstance(cnkiStructtp);//创建实例
object obj2 = System.Activator.CreateInstance(cnkiBasetp);
object obj3 = System.Activator.CreateInstance(cnkiComtp);
FieldInfo[] BaseInfo = cnkiBasetp.GetFields();//获取创建的实例的所有属性
FieldInfo[] ComInfo = cnkiComtp.GetFields();
FieldInfo[] StructInfo = cnkiStructtp.GetFields(); BaseInfo[].SetValue(obj2, enty.UserName);//对指定的属性就行赋值
BaseInfo[].SetValue(obj2, enty.RealName);
BaseInfo[].SetValue(obj2, enty.PassWord);
BaseInfo[].SetValue(obj2, enty.Department); ComInfo[].SetValue(obj3, enty.EMail);
ComInfo[].SetValue(obj3, enty.Phone); StructInfo[].SetValue(obj1, obj2);
StructInfo[].SetValue(obj1, obj3); foreach (System.IO.FileInfo item in fr)
{
if (item.Name.EndsWith("Grid30Register.dll"))
{
System.Reflection.Assembly ass = System.Reflection.Assembly.LoadFrom(item.FullName);
Type tp = ass.GetType("Grid30Register.CreateOperateClass");
MethodInfo meth = tp.GetMethod("PersonLibRegister");
object obj = System.Activator.CreateInstance(tp, new object[] { GridConfig.UserServerIP, GridConfig.UserServerIP, GridConfig.UserServerIP,
KbaseConfig.ServerIP, KbaseConfig.ServerUserName, KbaseConfig.ServerPsw, "", GridConfig.Language });
ReStr = meth.Invoke(obj, new object[] { us }).ToString();
}
} }

在动态引用DLL-A中,当参数是个实体,而实体的属性在另一个DLL-B中。。我们需要得到A这个实体并将其赋值,并将赋值的实体传人DLL-A的方法中。的更多相关文章

  1. ①创建项目testpackage ②在pack2.B中添加方法f ③在类A中添加如下三个成员变量:int型的私有变量i float型的变量f double型的公有变量d 在pack1.B的main方法中为对象a的成员变量f和d分别赋值为2和3 在pack2.C的main方法中为对象a的成员变量d赋值为3

    package pack1; public class A { private int i; float f; public double d; public float getF() { retur ...

  2. 编写一个Animal类,具有属性:种类;具有功能:吃、睡。定义其子类Fish 和Dog,定义主类E,在其main方法中分别创建其对象并测试对象的特性。

    package animal; public class Animal { //成员属性 private String kind; public String getKind() { return k ...

  3. 27.编写一个Animal类,具有属性:种类;具有功能:吃、睡。定义其子类Fish 和Dog,定义主类E,在其main方法中分别创建其对象并测试对象的特性。

    ///Animal类 package d922A; public class Animal { private String kind; public String getKind() { Syste ...

  4. .NET中那些所谓的新语法之一:自动属性、隐式类型、命名参数与自动初始化器

    开篇:在日常的.NET开发学习中,我们往往会接触到一些较新的语法,它们相对以前的老语法相比,做了很多的改进,简化了很多繁杂的代码格式,也大大减少了我们这些菜鸟码农的代码量.但是,在开心欢乐之余,我们也 ...

  5. Java中的参数传值方式

    本文转载自 https://blog.csdn.net/SEU_Calvin/article/details/70089977 1.  你觉得下面程序会输出什么 public static void  ...

  6. 获取url中的参数\+发送ajax请求根路径|+获取复选框的值

    //获取url中的参数function getUrlParam(name) { var reg = new RegExp("(^|&)" + name + "=( ...

  7. C语言中可变参数的函数(三个点,“...”)

    C语言中可变参数的函数(三个点,“...”) 本文主要介绍va_start和va_end的使用及原理. 在以前的一篇帖子Format MessageBox 详解中曾使用到va_start和va_end ...

  8. jQuery 获取url中的参数

    //获取url中的参数 function getUrlParam(name) { var reg = new RegExp("(^|&)" + name + "= ...

  9. jQuery获取URL中的参数

    //获取URL地址栏中的参数 function getUrlParam(name) { var reg = new RegExp("(^|&)" + name + &quo ...

  10. 深入理解为什么Java中方法内定义的内部类可以访问方法中的局部变量

    好文转载:http://blog.csdn.net/zhangjg_blog/article/details/19996629 开篇 在我的上一篇博客 深入理解Java中为什么内部类可以访问外部类的成 ...

随机推荐

  1. STUCTS LABLE ‘S BENEFIT

    {LJ?Dragon}[注]Struts标签的三个好处 RELATED LINKS 0.UTF-8 有无BOM的区别 UTF-8 BOM 06. 几款网页数据抓取软件 SOFTWARE_INTRODU ...

  2. WCF:如何将net.tcp协议寄宿到IIS

    1 部署IIS 1.1 安装WAS IIS原本是不支持非HTTP协议的服务,为了让IIS支持net.tcp,必须先安装WAS(Windows Process Activation Service),即 ...

  3. HDOJ 5184 Brackets 卡特兰数扩展

    既求从点(0,0)仅仅能向上或者向右而且不穿越y=x到达点(a,b)有多少总走法... 有公式: C(a+b,min(a,b))-C(a+b,min(a,b)-1)  /// 折纸法证明卡特兰数: h ...

  4. Swoole源代码学习记录(十五)——Timer模块分析

    swoole版本号:1.7.7-stable Github地址:点此查看 1.Timer 1.1.swTimer_interval_node 声明: // swoole.h 1045-1050h ty ...

  5. 案例:我行我素购物系统 v1.1

    系统逻辑结构: import java.util.Scanner; public class ShoppingSystem { public static void main(String[] arg ...

  6. 关于Daydream VR的最直白的介绍

    虚拟现实(Virtual Reality),简称虚拟技术,也称虚拟环境,是利用电脑模拟产生一个三度空间的虚拟世界,提供用户关于视觉等感官的模拟,让用户如同身历其境一般,电脑可以立即进行复杂的运算,将精 ...

  7. jquery ajax 提交表单(file && input)

    用到的插件 jquery.js jquery.form.js[http://malsup.github.io/jquery.form.js] 提交页面 <form enctype="m ...

  8. zabbix图中出现中文乱码问题

    我这周部署了zabbix监控服务器,但是配置过程中发现当有中文时,图中的中文会变成方块 如下图所示: 这个问题是由于zabbix的web端没有中文字库,我们最需要把中文字库加上即可 解决办法如下 1. ...

  9. ADLINK 8158控制程序-连续运动(VB.NET)

    运动平台:日脉的二维运动平台(一个旋转平台和一个滑动平台) 开发环境:VS2010 + .NET Framework + VB.NET 使用文件:pci_8158.vb motion_8158_2D. ...

  10. python运算符使用规律

    #conding=utf-8 #优先级使用规律#1.一般情况下是左右结合print 4+6+5*6+6 #2.出现赋值的时候一般是右结合a=8+91print a #优先级记忆口诀'''函数寻址下标1 ...