在可移植类库中配置值

时间:2013-04-21 12:20:49

标签: .net portable-class-library

我正在开发一个将由Windows Store和WP8应用程序使用的PCL。该库需要一些配置,例如远程服务网址。我想将它们放入app.config并使用ConfigurationManager检索它们,但System.Configuration似乎在PCL中不可用。

1 个答案:

答案 0 :(得分:2)

我要创建一个配置类。在最简单的情况下, 1 可能看起来像:

public class MyLibraryConfig
{
    public string RemoteServiceUrl{get;set;}
}

然后通过标准依赖注入技术将此类的实例传递给库。例如,将其传递给构造函数并将其存储在字段中。然后,应用程序负责从文件ConfigurationManager等中读取配置。

IMO这是更好的设计,即使在我可以访问ConfigurationManager的库中,我也会使用它来查询配置管理器。此外,您强制应用程序使用单个配置并使用特定的配置机制。


1 您也可以使用接口或不可变类。这稍微复杂一点,但IMO更好的设计。

相关问题