我有一个应用程序从App.config启动时读取其设置。应用程序可能使用不同的预先存储提供程序。目前我有两个实现:Oracle和Dummy(用于测试目的)。
现在在我的Program.cs中,我读了要使用的存储类型的名称。它可能是OracleStorage或DemoStorage。这些是类型名称,其实现位于单独的dll项目中。
现在,如果我有一个类型名称,如何实例化一个对象?
所以我可以写:
IStorageProvider storage = new typof(myStorageClassNameReadFromAppConfig);
答案 0 :(得分:12)
您可以将Activator.CreateInstance
与Type.GetType
结合使用:
IStorageProvider storage =
(IStorageProvider) Activator.CreateInstance(
Type.GetType(myStorageClassNameReadFromAppConfig)
);