C# 向类库传递配置/参数的正确方法是什么?
我正在创建一个类库,供许多不同的客户机使用。我希望它是可配置的,例如,我希望能够在客户端中为库的临时文件指定路径 我想知道做这件事的“正确”方法是什么?有没有办法从类库中读取(继承)客户端的appconfig?它应该通过依赖注入来传递吗?最简单的解决方案是通过参数传递它,但我的库必须传递它或将其存储在静态变量中,但这不是一个非常干净的解决方案 有没有办法从类库中读取(继承)客户端的appconfig 如果使用从库中的.config或appsettings读取配置的常规方法,它将自动获取所用应用程序的.config或appsettings文件C# 向类库传递配置/参数的正确方法是什么?,c#,.net,.net-core,config,app-config,C#,.net,.net Core,Config,App Config,我正在创建一个类库,供许多不同的客户机使用。我希望它是可配置的,例如,我希望能够在客户端中为库的临时文件指定路径 我想知道做这件事的“正确”方法是什么?有没有办法从类库中读取(继承)客户端的appconfig?它应该通过依赖注入来传递吗?最简单的解决方案是通过参数传递它,但我的库必须传递它或将其存储在静态变量中,但这不是一个非常干净的解决方案 有没有办法从类库中读取(继承)客户端的appconfig 如果使用从库中的.config或appsettings读取配置的常规方法,它将自动获取所用应用程
请注意,这将降低使用库的透明度,因为它需要特定的配置项才能正常工作。我会确保它有默认值,用于您可能想要在配置中设置的所有设置。正确的方法是
config
file.DI via interface是我的选择它完全取决于您和您的库所做的事情。考虑任何日志记录服务。大多数记录器都可以通过配置文件中的属性进行配置,也可以设置参数。由于库的使用通常很容易,因此可以为基本任务配置库。我会非常小心地在dll中使用配置文件,因为它会使使用变得更困难-使用此dll的每个应用程序都必须知道所需的特定配置。您最好公开一个用于设置可配置部分的API(无论是使用构造函数/方法参数,还是使用属性,甚至是使用MyDllConfig结构),并让调用的应用程序决定在配置文件中放置什么以及硬编码什么。@Zohar Peled但您将在哪里存储由API配置的设置?将它们序列化并保存到文件,存储为静态参数。。?