9

AppSettingsReader クラスと .Net 3.5 の ConfigurationManager クラスの AppSettings メンバーの間に実質的な違いはありますか?

私はいくつかのレガシー コードを構築しており、以前の開発者は AppSettingsReader.GetValue() を使用していましたが、私は ConfigurationManager.AppSettings.Get() を使用する傾向があります。

内部を見ると、AppSettingReader はより型安全であるように見えますが、その使用法は少し冗長に見えます。取得しているアプリ設定がよく知られており、かなり静的である場合、AppSettingsReader を使用する利点はありますか?

4

1 に答える 1

7

あまり。内部的には、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を使用するだけだと思いますが、本当の答えは「ボートを浮かせても」です。

于 2011-11-17T10:53:54.077 に答える