c# – 在.net中按名称字符串初始化类型
发布时间:2020-12-15 23:58:33 所属栏目:百科 来源:网络整理
导读:我有一个应用程序从App.config启动时读取其设置.应用程序可能使用不同的预先存储提供程序.目前我有两个实现:Oracle和Dummy(用于测试目的). 现在在我的Program.cs中,我读了要使用的存储类型的名称.它可能是OracleStorage或DemoStorage.这些是类型名称,其实现
我有一个应用程序从App.config启动时读取其设置.应用程序可能使用不同的预先存储提供程序.目前我有两个实现:Oracle和Dummy(用于测试目的).
现在在我的Program.cs中,我读了要使用的存储类型的名称.它可能是OracleStorage或DemoStorage.这些是类型名称,其实现位于单独的dll项目中. 现在,如果我有一个类型名称,如何实例化一个对象? 所以我可以写: IStorageProvider storage = new typof(myStorageClassNameReadFromAppConfig); 解决方法
您可以将
Activator.CreateInstance 与
Type.GetType 结合使用:
IStorageProvider storage = (IStorageProvider) Activator.CreateInstance( Type.GetType(myStorageClassNameReadFromAppConfig) ); (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |