Vous ne devez jamais coupler vos bibliothèques à un consommateur (dans ce cas, une application Web, WinForm ou WCF). Si votre bibliothèque a besoin de paramètres de configuration, donnez-les à la bibliothèque.
Ne codez pas la bibliothèque pour qu'elle récupère ces données dans le fichier de configuration d'un consommateur. Fournissez des constructeurs surchargés pour cela (c'est à cela qu'ils servent).
Si vous avez déjà regardé le ConfigurationManager.AppSettings
il s'agit simplement d'un objet NameValueCollection
. Créez donc un constructeur dans votre bibliothèque pour accepter un fichier NameValueCollection
et demandez à votre consommateur de DONNER ces données à la bibliothèque.
//Library
public class MyComponent
{
//Constructor
public MyComponent(NameValueCollection settings)
{
//do something with your settings now, like assign to a local collection
}
}
//Consumer
class Program
{
static void Main(string[] args)
{
MyComponent component = new MyComponent(ConfigurationManager.AppSettings);
}
}