public IniFile(string fileName, System.Text.Encoding encoding, double interval) { if (fileName == null) { throw new ArgumentNullException("fileName"); } if (fileName.Length == 0) { throw new ArgumentOutOfRangeException("fileName"); } if (!File.Exists(fileName)) { File.WriteAllText(fileName, string.Empty, encoding); } this.FileName = Path.GetFullPath(fileName); this.Encoding = encoding; this.Comment = new List <string>(); this.Sections = new IniFileSectionCollection(); this.Refresh(); if (interval > 0.0) { this.simpleTimerProvider_0 = new SimpleTimerProvider <IniFile>(this, interval); if (action_0 == null) { action_0 = new Action <IniFile>(IniFile.smethod_1); } this.simpleTimerProvider_0.Run(action_0); } }
/// <summary> /// 从指定文件初始化 <see cref="IniFile"/> 类的新实例。 /// </summary> /// <param name="fileName">指定 ini 文件的完整路径。</param> /// <param name="encoding">指定 ini 文件的字符编码。</param> /// <param name="interval">指定自动保存的时间间隔。</param> public IniFile(string fileName, Encoding encoding, double interval) { if (fileName == null) { throw new ArgumentNullException("fileName"); } if (fileName.Length == 0) { throw new ArgumentOutOfRangeException("fileName"); } if (File.Exists(fileName) == false) { File.WriteAllText(fileName, String.Empty, encoding); } this.FileName = Path.GetFullPath(fileName); this.Encoding = encoding; this.Comment = new List <string>(); this.Sections = new IniFileSectionCollection(); this.Refresh(); if (interval <= 0) { return; } this._saveTimerProvider = new SimpleTimerProvider <IniFile>(this, interval); this._saveTimerProvider.Run(ini => ini.Save()); }