sco*_*ttm 18

没有.Assembly.CreateInstance实际上调用了Activator.CreateInstance.

在Assembly.CreateInstance上使用Reflector:

public object CreateInstance(string typeName, bool ignoreCase, BindingFlags bindingAttr, Binder binder, object[] args, CultureInfo culture, object[] activationAttributes)
{
    Type type = this.GetType(typeName, false, ignoreCase);
    if (type == null)
    {
        return null;
    }
    return Activator.CreateInstance(type, bindingAttr, binder, args, culture, activationAttributes);
}
Run Code Online (Sandbox Code Playgroud)


Tim*_*son 16

Assembly.CreateInstance查找特定程序集中的类型,而Activator.CreateInstance可以创建任何类型的对象.

Activator.CreateInstance有超载Assembly但没有; 例如,它可以使用远程处理在其他应用程序域或其他服务器上创建对象.