Pergunta

Estou criando algumas ferramentas C # para o jogo que eu estou trabalhando, e eu estou adicionando o "Arquivos- recente>" no menu suspenso.

O problema é que eu não posso começar C # 's 'Configurações' página no VS2008 para permitir-me para adicionar um HashSet digitada. Simplesmente não há opção de fazê-lo.

Eu tenho tudo hackalicious e editado manualmente o arquivo "Settings.Designer.cs" para:

    [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;
        }
    }

Isso parece funcionar muito bem. No entanto, eu sei que em algum momento ele vai detonar essas alterações com o gerador de código.

O que é o caminho certo para fazer isso? Does C # têm alguns construída no tipo que eu deveria estar usando para essa funcionalidade em vez de apenas um HashSet simples?

Foi útil?

Solução

Não fazê-lo desta forma. VS irá bombardear qualquer código em Settings.Designer.cs.

Em vez disso, abra o editor de Configurações do VS (isto irá mostrar o editor de Design para o arquivo Settings.settings e Settings.Designer.cs).

Em seguida, pressione F7 para obter o View Code. VS automagicamente criar um arquivo chamado Settings.cs que é uma classe parcial compartilhada com arquivo Settings.Designer.cs. Este arquivo pode ser editado para o conteúdo do seu coração.

As entradas XML no arquivo Settings.settings pode ficar tostado, no entanto. Eu manter uma cópia separada dos que apenas no caso.

Outras dicas

Não tenho certeza sobre uma maneira 'correta' de fazer isso, mas você pode mover com segurança o seu código para um arquivo de classe Settings.cs parciais sem se preocupar com Visual Studio substituí-los.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top