gpt4 book ai didi

c# - c#中属性的单例模式

转载 作者:太空宇宙 更新时间:2023-11-03 17:15:00 25 4
gpt4 key购买 nike

我正在尝试为我的 CsvConfiguration 属性调整单例策略。

如果配置已经可用,返回配置即可。否则,获取配置并返回相同的配置,我就可以构建此代码。

    public Rootpdf pdfConfiguration
{
get
{
Rootpdf pdfConfiguration = null;
try
{
if (pdfConfiguration == null)
{
//retrieve the configuration file.
//load the configuration and return it!
}
else
{
return pdfConfiguration;
}
}
catch (Exception e)
{
Log.Error("An error occurred while reading the configuration file.", e);
}

return pdfConfiguration;
}
}

优点(我希望):每当我的 pdfConfiguration 需要时,如果它已经可用,我可以退还它。无需每次加载配置文件并计算构型。

我的查询:resharper! resharper 告诉代码

   if (pdfConfiguration == null) //The expression is always true.

resharper 真的有问题,它不明白我在遵循这种单例模式吗?

我是不是完全没有遵循单例模式?

最佳答案

您在 get 子句的顶部将单例设置为 null:

Rootpdf pdfConfiguration = null;
//THIS IS THE PROBLEM.

注意:在 99% 的情况下,ReSharper 比您聪明。我不喜欢它,但这是真的。

关于c# - c#中属性的单例模式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18098964/

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