我正在开发一个将由Windows Store和WP8应用程序使用的PCL。该库需要一些配置,例如远程服务网址。我想将它们放入app.config并使用ConfigurationManager检索它们,但System.Configuration似乎在PCL中不可用。
答案 0 :(得分:2)
我要创建一个配置类。在最简单的情况下, 1 可能看起来像:
public class MyLibraryConfig
{
public string RemoteServiceUrl{get;set;}
}
然后通过标准依赖注入技术将此类的实例传递给库。例如,将其传递给构造函数并将其存储在字段中。然后,应用程序负责从文件ConfigurationManager
等中读取配置。
IMO这是更好的设计,即使在我可以访问ConfigurationManager
的库中,我也会使用它来查询配置管理器。此外,您强制应用程序使用单个配置并使用特定的配置机制。
1 您也可以使用接口或不可变类。这稍微复杂一点,但IMO更好的设计。