/// <summary> /// INI ファイル (初期化ファイル) の指定したセクションとキーの組み合わせに対応する値を更新または追加します。 /// </summary> /// <param name="path"> /// INI ファイルのパス /// </param> /// <param name="section"> /// セクションの名前 /// </param> /// <param name="key"> /// エントリのキー /// </param> /// <param name="value"> /// 更新後の値 /// </param> /// <remarks> /// <para> /// このメソッドは呼び出されるたびにファイルを開きます。 /// 連続的に値を取得する場合は、このメソッドではなく、 /// <see cref="PrivateProfile.SetValue(string, string, string)" autoUpgrade="true"/> メソッドを使用してください。 /// </para> /// <para> /// 指定したセクションとキー、および、その値が存在する場合は、値を更新します。 /// 指定したセクションとキーは存在して、値が存在しない場合は、値を追加します。 /// 指定したセクションは存在して、キーが存在しない場合は、そのセクションの末尾にエントリ (キーと値) を追加します。 /// 指定したセクションが存在しない場合は、ファイルの末尾に、そのセクションとエントリ (キーと値) を追加します。 /// </para> /// <para> /// <note type="note"> /// 当該エントリの末尾にコメントがある場合、そのコメントは削除されます。 /// </note> /// </para> /// <para> /// <note type="warning"> /// 既に名前のないセクションが存在している場合のみ、名前のないセクションのエントリを更新または追加をすることができます。 /// 名前のないセクションが存在しない場合は、このメソッドによって、後から名前のないセクションを作成することはできません。 /// </note> /// </para> /// </remarks> public static void SetPrivateProfile(string path, string section, string key, string value) { using (var profile = new PrivateProfile(path, false)) { profile.SetValue(section, key, value).Write(); } }
// ---------------------------------------------------------------------------------------------------- // Static Method(s) // ---------------------------------------------------------------------------------------------------- /// <summary> /// INI ファイル (初期化ファイル) から、指定したセクションとキーの組み合わせに対応する値を文字列として取得します。 /// </summary> /// <param name="path"> /// INI ファイルのパス /// </param> /// <param name="section"> /// セクションの名前 /// </param> /// <param name="key"> /// エントリのキー /// </param> /// <param name="ignoreDuplicatedEntry"> /// エントリのキーが重複している INI ファイルを読み込むことを許可する場合に <c>true</c> を指定します。 /// 既定は <c>false</c> です。 /// </param> /// <returns> /// 指定したセクションとキーの組み合わせに対応する値の文字列を返します。 /// 該当するセクションとキーの組み合わせが存在しない場合は <c>null</c> を返します。 /// 該当するセクションとキーの組み合わせに値が存在しない場合は <see cref="System.String.Empty"/> を返します。 /// </returns> /// <remarks> /// このメソッドは呼び出されるたびにファイルを開きます。 /// 連続的に値を取得する場合は、このメソッドではなく、 /// <see cref="PrivateProfile.GetValue(string, string)" autoUpgrade="true"/> メソッドを使用してください。 /// </remarks> public static string GetPrivateProfile(string path, string section, string key, bool ignoreDuplicatedEntry = false) { using (var profile = new PrivateProfile(path, true, ignoreDuplicatedEntry)) { return(profile.GetValue(section, key)); } }