ピースペース

スコープが「アプリケーション」のアプリケーション設定をコードで編集して保存する

leave a comment »

VisualStudioで設定するアプリケーション設定(プロジェクトプロパティの設定タブで設定するやつ)のスコープを「アプリケーション」と指定すると
そのプロパティはReadOnlyになって、こんなことはできなくなる。

Properties.Settings.Default.Honyara = “ほにゃら”;
Properties.Settings.Default.Save();

つまり、変更を保存する必要のあるような項目は、アプリケーション設定ではないよ!
という間接的箴言なのだ。

とわいえ、VisualStudioがまさにそうであるように
その変更保存不要なアプリケーション設定項目のエディタが必要になるときもある
のか? は、さておき…
とにかく、ReadOnlyなアプリケーションプロパティを編集・保存するコードは書ける。

var appPath = System.Windows.Forms.Application.ExecutablePath;
var config = System.Configuration.ConfigurationManager.OpenExeConfiguration(appPath);
var clientSettings = config.GetSection("applicationSettings/GrooveAdmin4.Properties.Settings") as ClientSettingsSection;
var appSettings = clientSettings.Settings as System.Configuration.SettingElementCollection;
clientSettings.SectionInformation.ForceSave = true;
appSettings.Get("Honyara").Value.ValueXml.InnerText = “ほにゃら”;
config.Save(System.Configuration.ConfigurationSaveMode.Full);

Written by nasu38yen

2010年7月30日 @ 4:58 AM

カテゴリー: 未分類

コメントを残す

以下に詳細を記入するか、アイコンをクリックしてログインしてください。

WordPress.com ロゴ

WordPress.com アカウントを使ってコメントしています。 ログアウト / 変更 )

Twitter 画像

Twitter アカウントを使ってコメントしています。 ログアウト / 変更 )

Facebook の写真

Facebook アカウントを使ってコメントしています。 ログアウト / 変更 )

Google+ フォト

Google+ アカウントを使ってコメントしています。 ログアウト / 変更 )

%s と連携中

%d人のブロガーが「いいね」をつけました。