Type.GetType()在跨程序集反射时返回null

Posted 一菜菜一群

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Type.GetType()在跨程序集反射时返回null相关的知识,希望对你有一定的参考价值。

在使用Type.GetType来进行反射的话,情况就复杂些。这是因为Type.GetType是非强类型的。Type.GetType的参数是一个string为类型的完全限定名,

如果在当前程序集中使用:

var typeFullName = "CommonBizService.Test";
var type = Type.GetType(typeFullName );

 

如果当string表示的目标类型不在当前程序集中,则运行时Type.GetType会返回null。

 

在网上 找了一些,也都试了。可行如下:

var typeFullName = "CommonBizService.Test";
var type = Type.GetType(typeFullName+",CommonBizService" );
CommonBizService:就是Test所在的程序集名称,记住不要写成:CommonBizService.dll


参考:http://www.cnblogs.com/jjhe369/archive/2011/07/12/2104673.html

以上是关于Type.GetType()在跨程序集反射时返回null的主要内容,如果未能解决你的问题,请参考以下文章

Type.GetType()反射另外项目中的类时返回null的解决方法

Type.GetType()反射另外项目中的类时返回null的解决方法

c# 反射时GetType方法查找Type的分析

C#通过反射获取不同命名空间下的类(属性和方法)

System.Type反射(1/3)

C#中反射里的invoke方法的参数