如何利用反射实现一个接口的变量 Dll 中有个接口 IinterfaceA我想要在我的代码中得到 IinterfaceA a ; 这样的变量,该如何做 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 Type type=Type.GetType(name); type.GetInterfaces(); IinterfaceA a ;这样说明你已经知道类型了,但反射的意义在于编程时不知道类型,所以你无法这么写,只能是获取类型,然后创建对象。 我想得到 IinterfaceA a 不是IinterfaceA type IinterfaceA a ;这样说明你已经知道类型了,但反射的意义在于编程时不知道类型,所以你无法这么写,只能是获取类型,然后创建对象。 循环dll中所有的IinterfaceA using System.Reflection 新建对象: object obj = Type.GetType(类名+","+名称空间).InvokeMember(null, BindingFlags.CreateInstance |BindingFlags.Instance | BindingFlags.Public, null, null, null); 若还需要查找方法并执行 MethodInfo mi=obj.GetType().GetMethod("方法名"); mi.Invoke(obj,null);//无参数执行 mi.Invoke(obj,new object[] { 参数1,参数2 });//有参数 Type type=Type.GetType(name); type.GetInterfaces();这个可以,但是你都已经知道是什么类型的接口,这样做就是太多余啦。除非那个接口是不可见的。 object Instance = Activator.CreateInstance (type);type 是一个接口,这样总不成功,总说接口的Instance 做成失败。该怎么做? c#中时间查询问题 事务的平均分配问题 高人看一下c#的动态linkbutton分组循环这怎么做 .net中关于数据库对象的类是哪一个?该对象应该能提供有关数据库方面的功能。如判断数据库的存在、数据库状态等。 DataGridView问题 将table 导入到Excel中,我导入的格式总是不默认的html格式,哪位大侠帮忙指点一下!!!!!! 往mdf数据库插入数据 如何在listview中显示windows 中的已经注册的文件类型? 深圳的朋友进来,再送100分............ 如何取消窗体的重绘? 在线等待几个简单sql面试题 急 关于图标地址
type.GetInterfaces();
这样说明你已经知道类型了,但反射的意义在于编程时不知道类型,所以你无法这么写,只能是获取类型,然后创建对象。
这样说明你已经知道类型了,但反射的意义在于编程时不知道类型,所以你无法这么写,只能是获取类型,然后创建对象。
新建对象:
object obj = Type.GetType(类名+","+名称空间).InvokeMember(null, BindingFlags.CreateInstance |BindingFlags.Instance | BindingFlags.Public, null, null, null); 若还需要查找方法并执行
MethodInfo mi=obj.GetType().GetMethod("方法名");
mi.Invoke(obj,null);//无参数执行
mi.Invoke(obj,new object[] { 参数1,参数2 });//有参数
type.GetInterfaces();
这个可以,但是你都已经知道是什么类型的接口,这样做就是太多余啦。除非那个接口是不可见的。