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