Type.GetType(string.contains(','))

例如

 Type type = Type.GetType("ACalCoreServiceLib.BaseService,ACalCoreServiceLib");

里面的ACalCoreServiceLib.BaseService,ACalCoreServiceLib是完全限定名,逗号后面的命名空间可写可不写

引用:http://www.cnblogs.com/olartan/archive/2011/11/30/2268809.html

关于typeName的说明如下:

1)字符串的首尾不允许有空格,逗号前不允许有空格(笔者在项目中应该在逗号前多余了一个空格导致抛出无法找到类型的异常)

2)完全限定名可以包含逗号后面的namespace,当然也可不包含

关于跨进程的反射同样有两点要注意:

1)typeof是支持强类型的,如:var t = typeof(FF.Persistence.Driver.SQLite) 前提是项目必须引用FF.Persistence程序集

2)使用Type.GetType来进行反射,要明白Type.GetType是非强类型,如果参数typeName表示的目标类型不在当前程序集中,那么会返回null。解决办法是:

var asmb = Assembly.LoadFrom("FF.Persistence.dll") ;
var supType = asmb.GetType("FF.Persistence.Driver.SQLite") ;

以上都是些小细节,如果留心会少走很多弯路。

原文地址:https://www.cnblogs.com/swobble/p/7760001.html