Activator可以创建远程对象的实例,而Assembly必须先获得一个Assembly的实例,才能创建其内部Type的实例。
Assembly
定义一个 Assembly,它是可重用、无版本冲突并且可自我描述的公共语言运行库应用程序构造块。
Assembly.CreateInstance 方法
从此程序集中查找某个类型,然后使用系统激活器创建它的实例。
Activator
包含特定的方法,用以在本地或从远程创建对象类型,或获取对现有远程对象的引用。
Activator.CreateInstance
使用与指定参数匹配程度最高的构造函数创建指定类型的实例。
这两个方法适用的情况不太相同:
如果动态加载dll类库并建立类的对象用Assembly
如果用Remoting或WebService之类的远程对象则用Activator;
性能上我觉得没有什么可比的条件啊,适用方面不一样,CreateInstance这个方法有好多类都有啊,比如:
_AppDomain.CreateInstance
AppDomain.CreateInstance 方法
DataTable.CreateInstance 方法