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. SANSA 上上洛可可 贾伟作品 高山流水 香炉 香插香台香具 高端商务礼品 黑色【正品 价格 图片 折扣 评论】_尚品网ShangPin.com

    SANSA 上上洛可可 贾伟作品 高山流水 香炉 香插香台香具 高端商务礼品 黑色[正品 价格 图片 折扣 评论]_尚品网ShangPin.com

  2. dubbo简述

    转http://blog.csdn.net/hzzhoushaoyu/article/details/4327309 一.前言 部门去年年中开始各种改造,第一步是模块服务化,这边初选dubbo试用在一 ...

  3. Android MVP框架模式

    结合前一篇MVC框架模式 为了更好地细分视图(View)与模型(Model)的功能,让View专注于处理数据的可视化以及与用户的交互,同时让Model只关系数据的处理,基于MVC概念的MVP(Mode ...

  4. 【安卓】给ViewFlipper加指示器,相似ViewPagerIndicator库提供的那种、!

    思路: 1.viewPager有setOnPageChangeListener能够监听切换动作,但viewFlipper却死活没类似的东西.! 此处有一个变种思路,基于animation,animat ...

  5. 三种root的修补方式

    三种root的修补方式 system/core/adb/abd.c adbd漏洞,请看abd.c的第917行/* then switch user and group to "shell&q ...

  6. 手把手教你从 Core Data 迁移到 Realm

    前言 看了这篇文章的标题,也许有些人还不知道Realm是什么,那么我先简单介绍一下这个新生的数据库.号称是用来替代SQLite 和 Core Data的.Realm有以下优点: 使用方便 Realm并 ...

  7. java.util.Date和java.sql.Date

    java.util.Date是在除了SQL语句的情况下面使用的. java.sql.Date是针对SQL语句使用的,它只包含日期而没有时间部分 它们都有getTime方法返回毫秒数,自然就可以直接构建 ...

  8. easyUI 新增合计一行

    /** * 详情页面的查询 */ @Override public Map<String, Object> pointsStardList(PointsCpt pointsCpt, int ...

  9. HTML DOM节点

    在 DOM 树中,基本上一切都是节点.每个元素在最底层上都是 DOM 树中的节点.每个属性都是节点.每段文本都是节点.甚至注释.特殊字符(如版权符号 ©).DOCTYPE 声明(如果 HTML 或者 ...

  10. My.Ioc 代码示例——使用条件绑定和元数据(可选)构建插件树

    本文旨在通过创建一棵插件树来演示条件绑定和元数据的用法. 说“插件树”也许不大妥当,因为在一般观念中,谈到插件树,我们很容易会想到 Winform/Wpf 中的菜单.举例来说,如果要在 Winform ...