gpt4 book ai didi

c# - 如何模拟 C# 应用程序的配置

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

我编写了一个 C# 应用程序并想模拟配置值。例如,我在远程机器上配置了一个文件创建路径,并希望在测试时在本地创建它。

我想为实现和接口(interface)的配置创建一个包装类,使用这种方法可以模拟接口(interface)并返回模拟值。

public interface IConfigurationProvider
{
string GetFileOutputPath(string path);
}

public class ConfigurationWrapper : IConfigurationProvider
{
return ConfigurationManager.AppSettings.Get("FileOutputPath");
}

配置:

<configuration>
<appSettings>
<add key="FileOutputPath" value="RemoteServerPath" />
</appSettings>
</configuration>

这种方法确实有效,但它是这种情况下的最佳实践吗?

最佳答案

至于最佳实践,那将是一个见仁见智的问题。在干净、可测试、可维护的代码方面,该方法是常用的。

这是您方法的一种变体。 (基本上提供相同的功能)

using System.Configuration;

public interface IApplicationSettings {
string this[string setting] { get; }
}

public class ConfigAppSettings : IApplicationSettings {
public string this[string setting] {
get { return ConfigurationManager.AppSettings[setting]; }
}
}

public interface IConnectionStrings {
string this[string name] { get; }
}

public class ConfigConnectionStrings : IConnectionStrings {
public string this[string name] {
get { return ConfigurationManager.ConnectionStrings[name].ConnectionString; }
}
}

关于c# - 如何模拟 C# 应用程序的配置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36311455/

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