尽管这个问题在名称上类似于this和this,但事实并非如此。
我目前正在开发一个库,该库可能需要根据用户的需要进行一些自定义配置。
我创建了一个自定义配置部分,一切正常。
但是,当我调试时,我注意到配置部分构造函数被调用了两次。这不是我的本意。
深入挖掘,我发现它的发生是因为,为了从库中访问配置信息,我使用以下方法:
var config = ConfigurationManager.OpenExeConfiguration(ConfigurationUserLevel.None);
var section = config.GetSection("myConfigSection");
在此之前,.NET Framework 已经为运行该库的应用程序初始化了配置环境,从而调用了MyConfigSection
该类的构造函数。
我的问题是,如何访问已经加载的信息?
为什么类的构造函数被调用两次
因为我不想像上面的代码那样重新加载所有内容。
编辑添加
构造函数被调用两次,即使将上面的代码更改为:
var section = ConfigurationManager.GetSection("myConfigSection");
编辑澄清
这个问题与访问无关MyConfigSection
,我可以很好地访问它。
问题是关于为什么类的构造函数被调用两次。
再澄清一点
如果类的构造函数被调用两次,则加载过程发生两次。
我根本不希望这种情况发生。这太荒谬了。
是的,Configurationmanager
根据我在这个问题中的第一次编辑,我正在调用静态方法。