AppSettingsReader Class


The .NET API Reference documentation has a new home. Visit the .NET API Browser on to see the new experience.

Provides a method for reading values of a particular type from the configuration.

Namespace:   System.Configuration
Assembly:  System (in System.dll)


public class AppSettingsReader


Initializes a new instance of the AppSettingsReader class.


Determines whether the specified object is equal to the current object.(Inherited from Object.)


Allows an object to try to free resources and perform other cleanup operations before it is reclaimed by garbage collection.(Inherited from Object.)


Serves as the default hash function. (Inherited from Object.)


Gets the Type of the current instance.(Inherited from Object.)

System_CAPS_pubmethodGetValue(String, Type)

Gets the value for a specified key from the AppSettings property and returns an object of the specified type containing the value from the configuration.


Creates a shallow copy of the current Object.(Inherited from Object.)


Returns a string that represents the current object.(Inherited from Object.)

The following example creates a configuration file that contains the <appSettings> section, and then uses the AppSettingsReader to read the settings just generated.

using System;
using System.Configuration;

class Program
    static void Main(string[] args)
        var reader = new AppSettingsReader();

        var stringSetting = reader.GetValue("String setting", typeof(string));
        Console.WriteLine("String setting: " + stringSetting);

        var dateTimeSetting = reader.GetValue("DateTime setting", typeof(DateTime));
        Console.WriteLine("DateTime setting: " + dateTimeSetting);

            var missingSetting = reader.GetValue("Int setting", typeof(Int32));
        catch (InvalidOperationException e)
            Console.WriteLine("Missing key error: " + e.Message);

        Console.WriteLine("Press any key to continue");

The following example demonstrates a configuration file used by the previous example.

<?xml version="1.0" encoding="utf-8"?>
        <add key="String setting" value="String retrieved from App.Config"/>
        <add key="Date setting" value="Thursday, December 01, 2005 12:53:56 PM"/>

.NET Framework
Available since 1.1

Any public static ( Shared in Visual Basic) members of this type are thread safe. Any instance members are not guaranteed to be thread safe.

Return to top