Question

Je crée des outils C # pour le jeu sur lequel je travaille, et j'ajoute les "fichiers récents - >". menu déroulant.

Le problème est que je ne peux pas obtenir les "Paramètres" de C #. page dans VS2008 pour me permettre d’ajouter un HashSet dactylographié. Il n'y a aucune option pour le faire.

J'ai reçu tous les hackalicious et modifié manuellement le fichier "Settings.Designer.cs". fichier à:

    [global::System.Configuration.UserScopedSettingAttribute()]
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
    public global::System.Collections.Generic.HashSet<String> RecentLibs {
        get {
            return ((global::System.Collections.Generic.HashSet<String>)(this["RecentLibs"]));
        }
        set {
            this["RecentLibs"] = value;
        }
    }

Cela semble bien fonctionner. Cependant, je sais qu’à un moment donné, le générateur de code va modifier ces modifications.

Quelle est la bonne façon de faire cela? C # a-t-il un type intégré que je devrais utiliser pour cette fonctionnalité plutôt qu’un simple HashSet?

Était-ce utile?

La solution

Ne le faites pas de cette façon. VS utilisera n'importe quel code dans Settings.Designer.cs.

À la place, ouvrez l’éditeur de paramètres à partir de VS (vous verrez apparaître l’éditeur de conception des fichiers Settings.settings et Settings.Designer.cs).

Ensuite, appuyez sur F7 pour accéder à la vue du code. VS créera automatiquement un fichier appelé Settings.cs, qui est une classe partielle partagée avec le fichier Settings.Designer.cs. Ce fichier que vous pouvez modifier à votre guise.

Cependant, vos entrées XML dans le fichier Settings.settings peuvent être grillées. Je garderais une copie séparée de ceux-ci au cas où.

Autres conseils

Vous n'êtes pas sûr de la manière "correcte" de procéder, mais vous pouvez déplacer votre code en toute sécurité dans un fichier de classe partiel.cs.c sans vous soucier de l'écrasement de Visual Studio.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top