2 qq 35476097 qq_35476097 于 2017.09.17 12:06 提问

C# 反射 获取dll中List

反射不大会 所以请教各位

我想反射一个dll 这个dll中有个方法 返回了一个 List 集合
然后我该怎样写反射代码获取这个List呢。
下面是dll中代码
图片说明

5个回答

qq_40266655
qq_40266655   2017.09.17 16:33

Type type = sam.GetType("TengXun.demoinfo.dll",ture,ture);

tcaccphxy
tcaccphxy   2017.09.17 14:45

Type type = sam.GetType("demoinfo.dll",ture,ture);
List infoList = type.TengXunContent();
这样写试试。

qq_35476097
qq_35476097 谢谢 下面那个问题 能看一下吗
10 个月之前 回复
qq_35476097
qq_35476097   2017.09.17 14:47

还有个问题 就是 dll中代码是
图片说明
我现在反射这个dll 然后我怎么将 这个var Info 存到List集合呢
图片说明

tcaccphxy
tcaccphxy   2017.09.17 14:53

Type type = sam.GetType("TengXun.demoinfo.dll",ture,ture);

tcaccphxy
tcaccphxy   2017.09.17 14:59
        Type type = typeof(Info);
        List<Info> inf = newList<Info>();
        foreach (System.Reflection.PropertyInfo info in type.GetProperties())
        {

            info.SetValue(inf, info.GetValue(c1, null), null);
        }

                    这样试试,我还没有验证。
tcaccphxy
tcaccphxy 现在解决这个问题了么 ,我之前抄了你的代码,也是到这一步,取到值了,接下来也是没有什么好办法。
10 个月之前 回复
qq_35476097
qq_35476097 谢谢 还是没解决 有点悲伤
10 个月之前 回复
Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!
其他相关推荐
C#解析DLL————反射
前段时间敲代码,需要动态的加载的外部DLL,并且解析DLL,来读取DLL中的类,属性,有时候还需要读取特性的值。这个问题刚开始遇到,是一点想法没有,以前没有这么用过,后来查资料,请教别人,终于有了结果。当有了代码之后,发现在找问题的过程中,我糊涂了,因为解决这个问题的方式主要是——反射。我是通过利用反射进行DLL的动态加载和调用。下面来看看我的实现吧。   我做的例子是通过读取DLL的路
利用反射获取.DLL文件中的属性和方法以及版本信息
首先引入System.Reflection命名空间。System.Reflection.Assembly s = System.Reflection.Assembly.Load("mscorlib.dll"); lblZhang.Text = s.FullName; lblZhang.Text += "程序集类型:" + s.GetType().ToStri
C#反射动态调用dll中的方法,并返回结果
最近在看工厂开发模式,发现用到了反射,之前只听说过也没怎么用过;所以花了点时间重新温习了一遍; 反射的作用是动态的加载某个dll(程序集),并执行该程序集中的某个方法,并返回结果;当然也可以给该方法传递参数   namespace assembly_name { public class assembly_class { public
利用C#的反射机制动态调用DLL类库
1、使用Assembly类定义和加载程序集,加载在程序集清单中列出模块,以及从此程序集中查找类型并创建该类型的实例。 2、使用MethodInfo了解方法的名称、返回类型、参数、访问修饰符(如pulic 或private)和实现详细信息(如abstract或virtual)等。使用Type的GetMethods或GetMethod方法来调用特定的方法。 一、创建用于反射调用的DLL   u
C#中的反射Reflection动态加载引用
方法一:右键工程添加新建,添加一个类库; 完成编译后,将其中的.dll文件添加的需要的项目中,这里直接手动添加: 之后可以直接使用类库中的类了,使用快捷键Alt+shift+F10添加命名空间; 二.使用反射命名空间为using System.Reflection;动态添加; 1.将编译好的类库文件中的.dll文件复制到工作目录中,  Assembly asse=Asse
C#利用反射动态加载DLL(C#)并调用其中的接口
看了很多文章都说反射怎么怎么慢啊,明显就是对于反射的理解不够。的确你可以方便的去调用一个DLL的函数(虽然我从来不觉得用函数名作为字符串去调用是方便的),就像C++也可以动态调用DLL里面的函数一样,但是用过C++的人都知道傻逼才自己去声明回调去一个一个调用里面的函数,除非你真的闲的蛋疼。 但是C++有头文件可以include,这样编译器就知道这样行得通,而C#该怎么实现这样的Include?最
C#通过反射动态加载dll,读取module、类、方法、特性,并通过反射+简单工厂+配置文件 实现ioc
调用类:class Program { static void Main(string[] args) { SafeInvoke(() =&amp;gt; {//通过委托实现通用的异常处理 #region 通过反射创建对象 { //1 动态加载 默认加载当前路径的dll文...
C#反射动态调用dll中的方法及使用QuartZ.net实现作业调度
using Quartz; using Quartz.Impl; using System; using System.Collections.Generic; using System.Linq; using System.Reflection; using System.Text; using System.Threading; using System.Threading.Tasks; n
C#中使用反射动态加载和卸载DLL
C++中加载和卸载DLL是一件很容易的事,LoadLibrary和FreeLibrary让你能够轻 易的在程序中加载DLL,然后在任何地方卸载。在C#中我们也能使用Assembly.LoadFile实现动态加载DLL,但是当你试图卸载时,你会很 惊讶的发现Assembly没有提供任何卸载的方法。这是由于托管代码的自动垃圾回收机制会做这件事情,所以C#不提供释放资源的函数,一切由垃圾回收来 做。这引发了一个问题,用Assembly加载的DLL可能只在程序结束的时候才会被释放,这也意味着在程序运行期间无法
C# List<T> 泛型的反射, 泛型 函数的反射
var typeList = typeof(List             Type typeDataList = typeList.MakeGenericType(datatypeTarget.DataObjectType);             var vtData =  typeDataList.InvokeMember(null,                 Binding