3

私はここで必要なものに似たものを見つけました:http: //www.codeproject.com/KB/cs/PropertiesSettings.aspx しかし、それは私にとっては完全には機能しません。ユーザー設定は、次のような遠く離れた場所に保存されますC:\documents and settings\[username]\local settings\application data\[your application]、しかし、これらのフォルダにアクセスできず、設定ファイルをあるコンピュータから別のコンピュータにコピーしたり、ファイルを完全に削除したりすることはできません。また、アプリのすぐ隣に設定xmlファイルを配置し、両方をコピー/出荷すると非常に便利です。これは、デモウェア(正当なタイプのコーディングタスク)に使用され、この分野の技術者以外の人々によって使用されます。これをすばやく作成する必要があるため、既存のライブラリを再利用する必要があり、独自のライブラリを作成する必要はありません。使いやすく、持ち運びできるようにする必要があります。最後に、深夜に電話をかけて、作成する設定ダイアログで編集しても設定が保持されないことを伝えます。

したがって、ユーザー設定は保存され、神はどこにいるのかを知っており、アプリケーション設定は読み取り専用です(移動できません)。他にできることはありますか?app.configファイルには複数の目的があると思います。かつて、このファイルが希望どおりに使用されているのを見たことがありますが、リンクが見つかりません。

不明な点がある場合はお知らせください。

4

1 に答える 1

5

設定を保持するクラスを作成してから、それをXMLシリアル化できます。

public class Settings
{
    public string Setting1 { get; set; }
    public int Setting2 { get; set; }
}

static void SaveSettings(Settings settings)
{
    var serializer = new XmlSerializer(typeof(Settings));
    using (var stream = File.OpenWrite(SettingsFilePath))
    {
        serializer.Serialize(stream, settings);
    }
}

static Settings LoadSettings()
{
    if (!File.Exists(SettingsFilePath))
        return new Settings();

    var serializer = new XmlSerializer(typeof(Settings));
    using (var stream = File.OpenRead(SettingsFilePath))
    {
        return (Settings)serializer.Deserialize(stream);
    }
}
于 2011-06-19T14:48:50.020 に答える