Je sais que c'est une vieille question mais j'ai pensé que j'ajouterais dans ma solution comme son simple et pourrait aider quelqu'un.
La classe de paramètres créée est une classe partielle, nous pouvons en tirer parti pour créer notre propre implémentation de Default.
Créer un nouveau fichier dans le dossier Propriétés
internal partial class Settings : ISettings
{
private static ISettings _setInstance;
internal static ISettings Get
{
get
{
return _setInstance = _setInstance ?? Default;
}
set { _setInstance = value; }
}
}
Puis, quand on l'utilise ailleurs dans l'application, nous pouvons appeler Settings.Get .. Si vous souhaitez définir les valeurs de test, créez une classe qui hérite de ISettings et définit la nouvelle implémentation.
Si vos tests sont trouvés dans un projet séparé, vous devrez ajouter une autre classe pour exposer le setter à public. Nous ne pouvons pas changer le fichier de paramètres en public car cela serait simplement remplacé la prochaine fois que nous changerions ou ajouterions une valeur.
oui, de cette façon, l'objet est plus réutilisable en ne dépendant pas des propriétés.settings – Benny
Aussi "moins susceptible de casser". En recherchant les valeurs par défaut, l'objet a deux responsabilités: son travail actuel et savoir où trouver les paramètres. Ce serait une douleur sérieuse si vous avez 1000 classes tout en s'appuyant sur properties.settings, et décidez alors que vous voulez que ces données viennent d'ailleurs! – kyoryu