peut être enregistré enum code> Enum code> en tant que paramètre, à l'aide des propriétés Si cela peut être fait, comment puis-je le faire? Merci d'avance pour votre aide. P> .Settings.default ["myseting"] code> syntaxe de C #? J'ai essayé de créer un paramètre dans les pages de propriétés de mon projet, mais seules les classes système sont apparues dans la liste des types disponibles. p>
3 Réponses :
Il suffit de le stocker comme un int et de le convertir en cas de besoin.
Properties.Settings.Default["MySetting"] = myEnumValue.ToString(); // and later var settingValue = Properties.Settings.Default["MySetting"]; MyEnum value = (MyEnum)Enum.Parse( typeof(MyEnum), settingValue );
Ou stockez une chaîne code>, puis utilisez
Enum.trypsarse code>. Plus lisible par l'homme de cette façon.
Il y a une meilleure réponse ici . En résumé, dans la colonne Type, sélectionnez "Parcourir ...", puis tapez le nom complet de l'ENUM dans la zone de texte "Type sélectionné" en bas.
Voici comment définir le type de paramètre sur Créez votre nouveau paramètre de propriété de type Ouvrir les paramètres.designer.cs p> li>
ol> : Modifiez le type de retour de votre nouvelle propriété à partir de Compte tenu du paramètre Enum Type est nommé De cette façon, il a l'air beaucoup plus propre, avec une seule déclaration; Le type de sécurité est assuré du côté du client, sans qu'il soit nécessaire de faire la chaîne inutile à l'analyse ENUM. P> myenum code> type d'énum:
String code> (type
chaîne code> sera modifié en
myenum code> Tapez dans les étapes suivantes) li>
p>
String CODE> à votre type Enum
myenum code>: p>
myenum code> (dans la société.enums
Espace de noms), Modifiez le type de retour à être de type
global :: société.enumums.myenum code>: p>
MyEnum value = Properties.Settings.Default["MySetting"];
Le problème avec cette approche est que vs encombrer vos changements si vous apportez une modification des .Settings. Vous ne devriez jamais modifier * .designer.cs fichiers.
Ce que vous pouvez faire est de créer un autre fichier d'extension de la classe partielle définie dans le concepteur, contenant une propriété de conversion.
C'est un ancien poste, mais je pense que cette solution mérite d'être publiée pour qui peut rencontrer le même problème. la nouvelle bibliothèque forte> référence la bibliothèque forte> p>
Fondamentalement, il consiste à créer une nouvelle bibliothèque à référencer par le projet principal afin que cette bibliothèque expose l'ENUM en tant que nouveau type pouvant être sélectionné parmi
Sous votre solution actuelle, créez une nouvelle bibliothèque de classe vide avec le code ci-dessous: p>
La nouvelle bibliothèque peut ne pas être encore visible dans la liste déroulante code> type code>. Si vous ne le voyez pas,
Sélectionnez Parcourir en bas de la liste déroulante et essayez de trouver la bibliothèque. de
S'il n'est toujours pas visible, tapez le chemin complet du nouveau type dans le champ Type sélectionné CODE>. (Dans cet exemple, entrez "CustomTypes.severity" comme indiqué ci-dessous:
À partir de maintenant, le nouveau type doit être visible et utilisable dans
li>
ul> p>