gpt4 book ai didi

c# - 在 .net 中按名称字符串初始化类型

转载 作者:行者123 更新时间:2023-11-30 13:28:27 27 4
gpt4 key购买 nike

我有一个应用程序在启动时从 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)
);

关于c# - 在 .net 中按名称字符串初始化类型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5681372/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com