C#反射,如何垮程序集调用实例

chenyulove163 2016-11-03 09:46:16
最近在写一个C#的反射业务,假设有两个程序集A、B,我在B中写了反射,需要访问A程序集中的某个类,B程序集也添加了对A程序集的引用,但是在getType的时候返回的还是null。于是我再次进行尝试,在Assembly.LoadFrom方法中添加了A程序集的绝对路径,可以得到装配件,但是却无法获得类型。应该是我的操作方式不对,希望高手指教!
...全文
280 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
Poopaye 2016-11-04
  • 打赏
  • 举报
回复
引用 2 楼 chenyulove163 的回复:
[quote=引用 1 楼 shingoscar 的回复:] GetType的参数使用完全限定名,而不是一个简单的名称 比如: NamespaceName.ClassName, AssemblyName, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null
只需要在同一解决方案中都可以这么干么?反射代码写在B,业务场景是A可以引用B而B不能引用A。B程序集作为类库存在![/quote] 只要这个程序集加载了就行
Forty2 2016-11-04
  • 打赏
  • 举报
回复
不用Type,GetType,而是用: Assembly 装配件A = 装入A(); Type t = 装配件A.GetType("这里写A里面类型的名称");
threenewbee 2016-11-03
  • 打赏
  • 举报
回复
检查下你的类型是不是忘记用public修饰了,否则要用bindflags.nopublic
chenyulove163 2016-11-03
  • 打赏
  • 举报
回复
引用 1 楼 shingoscar 的回复:
GetType的参数使用完全限定名,而不是一个简单的名称 比如: NamespaceName.ClassName, AssemblyName, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null
只需要在同一解决方案中都可以这么干么?反射代码写在B,业务场景是A可以引用B而B不能引用A。B程序集作为类库存在!
Poopaye 2016-11-03
  • 打赏
  • 举报
回复
GetType的参数使用完全限定名,而不是一个简单的名称 比如: NamespaceName.ClassName, AssemblyName, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null

110,533

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧