Utilisation De L'App.config pour définir fortement typées variables
Je suis un C# débutant en cours d'exécution .NET 3.5, et j'aimerais stocker un tas d'application des valeurs par défaut dans l'Application.config, comme les paramètres peuvent varier en fonction de l'environnement du serveur (par exemple, le développement, la mise en scène, production). Ce que je veux faire est similaire à ce qui est décrit dans ce StackOverflow article, mais je veux aussi être capable d'utiliser des valeurs de chaîne (par exemple, int, bool). Quelque chose comme ceci (nom-valeurs ne sont que des exemples, btw):
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<applicationSettings>
<MyApp>
<setting name="InitText" serializeAs="String">
<value>Hello</value>
</setting>
<setting name="StartAt" serializeAs="Integer">
<value>5</value>
</setting>
<setting name="IsWeekend" serializeAs="Boolean">
<value>True</value>
</setting>
</MyApp>
</applicationSettings>
</configuration>
Quelqu'un pourrait donner un exemple de comment faire, et comment récupérer les valeurs à l'aide de C#? J'ai vu beaucoup d'exemples qui nécessitent de l'aide et de l' , mais je ne suis pas sûr si j'ai besoin de ces éléments, et si oui, comment les créer.
OriginalL'auteur Mass Dot Net | 2009-11-20
Vous devez vous connecter pour publier un commentaire.
Que sur l'utilisation de l' Les Paramètres de l'Application de l'architecture de la .NET Framework. Vous pouvez avoir fortement typé accès aux valeurs par défaut.
Sur un projet d'Application Windows le fichier de Paramètres est automatiquement créé dans le dossier de Ressources. Vous pouvez ensuite ajouter des paramètres d'application qui sont conservées dans l'Application.fichier de configuration comme vous l'a montré dans votre question.
Par exemple:
Edit:
Si votre projet ne contient pas le fichier de settings vous pouvez toujours ajouter un par l'ajout d'un Nouvel Élément, puis de choisir un Fichier de Paramètres. (Clic droit sur le fichier de projet et à faire: Ajouter->New Item->Fichier de Paramètres). Dans mon cas, j'ai nommé les Paramètres, mais vous pouvez le nommer comme vous le souhaitez.
Après l'ajout du fichier, visual studio va ouvrir les paramètres de concepteur où vous pouvez ajouter votre fortement typées paramètres. À partir de ce que vous avez dit, vous devez définir les paramètres dans le champ d'Application et non de l'utilisateur. Puis générez le projet et vous devriez obtenir l'accès à une classe avec le nom du fichier.
Ce n'est pas vraiment cuit dans le cadre, c'est plutôt une IDE de la chose. Lorsque vous ajoutez un
.settings
fichier sur votre C#/VB projet, il est utilisé pour générer du code pour la classeSettings
qui enveloppe les paramètres de configuration des propriétés du type approprié, et fait tout le nécessaire jette etc.Merci pour la clarification -- je l'apprécie.
C'est une bonne réponse...mais il n'a pas d'externaliser les paramètres pour les utilisateurs de changer. Si vous modifiez une valeur dans une .fichier de paramètres, alors vous devez reconstruire votre solution pour obtenir la nouvelle valeur! Les utilisateurs ont tendance à obtenir de pissy à propos de choses comme ça. 🙂
Pour info, la première partie de "Paramètres".Par défaut..." désigne le nom de votre .le fichier de paramètres. Le mien a été nommé AppSettings.les paramètres, j'ai donc dû utiliser "AppSettings.Par défaut..."
OriginalL'auteur João Angelo
n'est-ce pas l'échec de la "force-les variables de type" partie des exigences, vous êtes toujours stocker une chaîne de caractères dans l'app.config
Ouais, je ne veux pas avoir à refondre une chaîne de caractères comme le bon type.
J'allais ajouter à ma réponse que ce n'est vraiment pas fortement typé pour autre chose que des cordes, mais le téléphone a sonné. Vous n'aurez qu'à utiliser convertir non des types de données string. Pourtant si, je upvoted João Angelo réponse, on dirait qu'il pourrait être un peu plus lisse.
Ou var isWeekend = Booléen.Parse(ConfigurationManager.AppSettings["IsWeekend"] ?? "faux")
OriginalL'auteur JayG
La chose JayG suggéré peut être fait par Visual Studio. Utiliser le appsettings assistant comme décrit dans la MSDN. Aussi, la totalité de Les Paramètres De L'Application de l'infrastructure pourrait être intéressant à lire.
OriginalL'auteur tobsen
Sonne comme vous voulez avoir un personnalisé
<configSection>
. Fondamentalement, il fonctionne comme ceci:-Créer une classe de configuration qui a bon les valeurs par défaut, etc, et de mettre en place une belle structure d'héritage de façon automatique en fonction de la charge sur votre site web.paramètres de configuration.
-Ajouter votre section de configuration pour le web.config, en précisant le "type" qui vous permettra de charger vos paramètres de sorte que la .NET framework savoir à quoi s'initialiser
Vous pouvez trouver toutes sortes d'infos sur le MSDN library à ce sujet. Les exemples sont asp.net mais ils fonctionnent très bien avec l'app configs ainsi.
OriginalL'auteur jvenema