ConfigurationManager クラスを徹底的に調査した後、アプリケーションが必要とする単一のユーザー定義パラメーター (複数のオプションはありません。タスクは非常に具体的です) のために、独自のファイルを作成/読み取り/書き込みすることにしました。新しい C#/.NET 開発者 (PHP から) として「正しいことをする」という私の探求では、ConfigurationManager を適切に使用したいと考えていました。私が思っているほど難しいことではありません - ConfigurationManager を介して設定を処理するのに数時間かかったと言うとき、私はできる限り正直に言います。添付のコードを書くのに約5分。このタスクは多くのアプリで実行されているように思えますが、簡潔な例は見つかりませんでした。例が見つからなかったわけではありません(MSDNのこちらおよび SO での同様のタスクへの参照がいくつかあります) が、MSDN では、私の要件を満たす多くのコードのように思えます。とにかく.....
私のアプリでは、アプリによって生成されたファイルが保存されるパスをユーザーが指定する必要があります。実装の私のアイデアは、ユーザーがツール ストリップから [オプション] 設定を選択し、ファイルが保存されるフォルダーを選択し、そのパスをファイル (ConfigurationManager を使用している場合は [appname.exe.config]) に保存するだけです。 )。私はこの昔ながらのアプローチを選びました:
private void preferencesToolStripMenuItem_Click(object sender, EventArgs e)
{
DialogResult result = saveFileLocation.ShowDialog();
string selectedPath = saveFileLocation.SelectedPath;
System.IO.StreamWriter file = new System.IO.StreamWriter("config.ini");
file.WriteLine(selectedPath);
file.Close();
}
例外のために追加する try/catch ロジックにもかかわらず、この方法でニーズを処理しないやむを得ない理由はありますか? ユーザーが大量のファイルを変換する要求を処理するときに、このファイルを 1 回読み取る必要があります。
MSDN の例がクラスの柔軟性を示すことを意図していることは理解していますが、私にはやり過ぎのように思えました。物事を成し遂げるために例をコピー/貼り付けする必要がある人に出くわしたくはありませんが、これは非常に一般的なタスクであるように思われるため、ConfigurationManager を介してニーズを実装する方法のより簡単な例を見つけることができたでしょう。 .
ご意見をお寄せいただきありがとうございます。