Dot-Net-3.5
.Net 的 AppSettingsReader 與 ConfigurationManager 在讀取應用程序配置設置方面的優勢
AppSettingsReader 類和 .Net 3.5 中 ConfigurationManager 類的 AppSettings 成員之間是否存在實質性區別?
我正在建構一些遺留程式碼,以前的開發人員使用 AppSettingsReader.GetValue(),而我更傾向於使用 ConfigurationManager.AppSettings.Get()。
從內部看,AppSettingReader 似乎更加類型安全,但它的使用似乎更加冗長。如果我正在檢索的應用程序設置是眾所周知的並且相當靜態,那麼使用 AppSettingsReader 有什麼好處嗎?
並不真地。AppSettingsReader 在內部只使用了 ConfigurationManager.AppSettings。
基本上只是檢查它是否存在,檢查發生的事情是否正常等。
有一件事是,當 AppSettings 中沒有元素時,它會拋出異常。
// From CTOR this.map = ConfigurationManager.AppSettings; .... public object GetValue(string key, Type type) ... string item = this.map[key]; if (item == null) { throw new InvalidOperationException(SR.GetString("AppSettingsReaderNoKey", new object[] { key })); }我認為大多數人只會使用 ConfigurationManager,但真正的答案是“讓你的船漂浮”。