笔记 Activator.CreateInstance(Type)

这段代码取自NopCommerce 3.80 的 权限列表初始化代码

dynamic provider = Activator.CreateInstance(providerType);

 

文件位置 PresentationNop.WebControllersInstallController.cs

 

 

//register default permissions

//var permissionProviders = EngineContext.Current.Resolve<ITypeFinder>().FindClassesOfType<IPermissionProvider>();

var permissionProviders = new List<Type>();

permissionProviders.Add(typeof(StandardPermissionProvider));

foreach (var providerType in permissionProviders)

{

dynamic provider = Activator.CreateInstance(providerType);

EngineContext.Current.Resolve<IPermissionService>().InstallPermissions(provider);

}

方法定义

//

// 摘要:

// 使用指定类型的默认构造函数来创建该类型的实例。

//

// 参数:

// type:

// 要创建的对象的类型。

//

// 返回结果:

// 对新创建对象的引用。

//

public static object CreateInstance(Type type);

原文地址:https://www.cnblogs.com/Qbit/p/5877746.html