PropertyInformation Class (System.Configuration)

Switch View :
ScriptFree
.NET Framework Class Library
PropertyInformation Class

Contains meta-information on an individual property within the configuration. This type cannot be inherited.

Inheritance Hierarchy

System.Object
  System.Configuration.PropertyInformation

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

Visual Basic
Public NotInheritable Class PropertyInformation
C#
public sealed class PropertyInformation
Visual C++
public ref class PropertyInformation sealed
F#
[<Sealed>]
type PropertyInformation =  class end

The PropertyInformation type exposes the following members.

Properties

  Name Description
Public property Converter Gets the TypeConverter object related to the configuration attribute.
Public property DefaultValue Gets an object containing the default value related to a configuration attribute.
Public property Description Gets the description of the object that corresponds to a configuration attribute.
Public property IsKey Gets a value specifying whether the configuration attribute is a key.
Public property IsLocked Gets a value specifying whether the configuration attribute is locked.
Public property IsModified Gets a value specifying whether the configuration attribute has been modified.
Public property IsRequired Gets a value specifying whether the configuration attribute is required.
Public property LineNumber Gets the line number in the configuration file related to the configuration attribute.
Public property Name Gets the name of the object that corresponds to a configuration attribute.
Public property Source Gets the source file that corresponds to a configuration attribute.
Public property Type Gets the Type of the object that corresponds to a configuration attribute.
Public property Validator Gets a ConfigurationValidatorBase object related to the configuration attribute.
Public property Value Gets or sets an object containing the value related to a configuration attribute.
Public property ValueOrigin Gets a PropertyValueOrigin object related to the configuration attribute.
Top
Methods

  Name Description
Public method Equals(Object) Determines whether the specified Object is equal to the current Object. (Inherited from Object.)
Protected method Finalize Allows an object to try to free resources and perform other cleanup operations before it is reclaimed by garbage collection. (Inherited from Object.)
Public method GetHashCode Serves as a hash function for a particular type. (Inherited from Object.)
Public method GetType Gets the Type of the current instance. (Inherited from Object.)
Protected method MemberwiseClone Creates a shallow copy of the current Object. (Inherited from Object.)
Public method ToString Returns a string that represents the current object. (Inherited from Object.)
Top
Remarks

The PropertyInformation object contains the meta-information of an individual property within the configuration. This object can be used when validating and changing the properties of an individual attribute.

The PropertyInformation object is derived from the associated PropertyInformationCollection object. The PropertyInformationCollection object is derived from the associated ElementInformation object.

Examples

The following code example demonstrates how to use the PropertyInformation type.

Visual Basic

Imports System
Imports System.Collections.Generic
Imports System.Text
Imports System.Configuration
Imports System.Web
Imports System.Web.Configuration

Namespace Samples.ConfigurationExamples
  Class UsingPropertyInformation
    Public Shared Sub Main()
      Try
        ' Set the path of the config file.
        Dim configPath As String = ""

        ' Get the Web application configuration object.
        Dim config As Configuration = _
          WebConfigurationManager.OpenWebConfiguration(configPath)

        ' Get the section related object.

        Dim configSection As AnonymousIdentificationSection = _
        CType(config.GetSection("system.web/anonymousIdentification"), _
        AnonymousIdentificationSection)

        ' Display title.
        Console.WriteLine("Configuration PropertyInformation")
        Console.WriteLine("Section: anonymousIdentification")

        ' Instantiate a new PropertyInformationCollection object.
        Dim propCollection As PropertyInformationCollection = _
         configSection.ElementInformation.Properties()

        ' Display Collection Count.
        Console.WriteLine("Collection Count: {0}", _
          propCollection.Count)

        ' Display properties of elements 
        ' of the PropertyInformationCollection.
        For Each propertyItem As PropertyInformation In propCollection
          Console.WriteLine()
          Console.WriteLine("Property Details:")

          ' Display the Name property.
          Console.WriteLine("Name: {0}", propertyItem.Name)

          ' Display the Value property.
          Console.WriteLine("Value: {0}", propertyItem.Value)

          ' Display the DefaultValue property.
          Console.WriteLine("DefaultValue: {0}", _
            propertyItem.DefaultValue) _

          ' Display the Type property.
          Console.WriteLine("Type: {0}", propertyItem.Type)

          ' Display the IsKey property.
          Console.WriteLine("IsKey: {0}", propertyItem.IsKey)

          ' Display the IsLocked property.
          Console.WriteLine("IsLocked: {0}", propertyItem.IsLocked)

          ' Display the IsModified property.
          Console.WriteLine("IsModified: {0}", propertyItem.IsModified)

          ' Display the IsRequired property.
          Console.WriteLine("IsRequired: {0}", propertyItem.IsRequired)

          ' Display the LineNumber property.
          Console.WriteLine("LineNumber: {0}", propertyItem.LineNumber)

          ' Display the Source property.
          Console.WriteLine("Source: {0}", propertyItem.Source)

          ' Display the Validator property.
          Console.WriteLine("Validator: {0}", propertyItem.Validator)

          ' Display the ValueOrigin property.
          Console.WriteLine("ValueOrigin: {0}", propertyItem.ValueOrigin)
        Next

        Console.WriteLine("")
        Console.WriteLine("Configuration - Accessing an Attribute")
        ' Create EllementInformation object.
        Dim elementInfo As ElementInformation = _
        configSection.ElementInformation()
        ' Create a PropertyInformationCollection object.
        Dim propertyInfoCollection As PropertyInformationCollection = _
        elementInfo.Properties()
        ' Create a PropertyInformation object.
        Dim myPropertyInfo As PropertyInformation = _
          propertyInfoCollection("enabled")
        ' Display the property value.
        Console.WriteLine _
          ("anonymousIdentification Section - Enabled: {0}", _
          myPropertyInfo.Value)

      Catch e As Exception
        ' Error.
        Console.WriteLine("Error: {0}", _
          e.Message.ToString())
      End Try

      ' Display and wait.
      Console.ReadLine()
    End Sub
  End Class
End Namespace


C#

#region Using directives

using System;
using System.Collections.Generic;
using System.Text;
using System.Configuration;
using System.Web;
using System.Web.Configuration;

#endregion

namespace Samples.ConfigurationExamples
{
  class UsingPropertyInformation
  {
    static void Main(string[] args)
    {
      try
      {
        // Set the path of the config file.
        string configPath = "";

        // Get the Web application configuration object.
        Configuration config = 
          WebConfigurationManager.OpenWebConfiguration(configPath);

        // Get the section related object.
        AnonymousIdentificationSection configSection =
          (AnonymousIdentificationSection)config.GetSection
          ("system.web/anonymousIdentification");

        // Display title.
        Console.WriteLine("Configuration PropertyInformation");
        Console.WriteLine("Section: anonymousIdentification");

        // Instantiate a new PropertyInformationCollection object.
        PropertyInformationCollection propCollection =
          configSection.ElementInformation.Properties;

        // Display Collection Count.
        Console.WriteLine("Collection Count: {0}", 
          propCollection.Count);

        // Display properties of elements 
        // of the PropertyInformationCollection.
        foreach (PropertyInformation propertyItem in propCollection)
        {
          Console.WriteLine();
          Console.WriteLine("Property Details:");

          // Display the Name property.
          Console.WriteLine("Name: {0}", propertyItem.Name);

          // Display the Value property.
          Console.WriteLine("Value: {0}", propertyItem.Value);

          // Display the DefaultValue property.
          Console.WriteLine("DefaultValue: {0}", 
            propertyItem.DefaultValue);

          // Display the Type property.
          Console.WriteLine("Type: {0}", propertyItem.Type);

          // Display the IsKey property.
          Console.WriteLine("IsKey: {0}", propertyItem.IsKey);

          // Display the IsLocked property.
          Console.WriteLine("IsLocked: {0}", propertyItem.IsLocked);

          // Display the IsModified property.
          Console.WriteLine("IsModified: {0}", propertyItem.IsModified);

          // Display the IsRequired property.
          Console.WriteLine("IsRequired: {0}", propertyItem.IsRequired);

          // Display the LineNumber property.
          Console.WriteLine("LineNumber: {0}", propertyItem.LineNumber);

          // Display the Source property.
          Console.WriteLine("Source: {0}", propertyItem.Source);

          // Display the Validator property.
          Console.WriteLine("Validator: {0}", propertyItem.Validator);

          // Display the ValueOrigin property.
          Console.WriteLine("ValueOrigin: {0}", propertyItem.ValueOrigin);
        }

        Console.WriteLine("");
        Console.WriteLine("Configuration - Accessing an Attribute");
        // Create EllementInformation object.
        ElementInformation elementInfo =
          configSection.ElementInformation;
        // Create a PropertyInformationCollection object.
        PropertyInformationCollection propertyInfoCollection =
          elementInfo.Properties;
        // Create a PropertyInformation object.
        PropertyInformation myPropertyInfo =
          propertyInfoCollection["enabled"];
        // Display the property value.
        Console.WriteLine
          ("anonymousIdentification Section - Enabled: {0}",
          myPropertyInfo.Value);
      }

      catch (Exception e)
      {
        // Error.
        Console.WriteLine(e.ToString());
      }

      // Display and wait.
      Console.ReadLine();
    }
  }
}


Version Information

.NET Framework

Supported in: 4, 3.5, 3.0, 2.0

.NET Framework Client Profile

Supported in: 4, 3.5 SP1
Platforms

Windows 7, Windows Vista SP1 or later, Windows XP SP3, Windows XP SP2 x64 Edition, Windows Server 2008 (Server Core not supported), Windows Server 2008 R2 (Server Core supported with SP1 or later), Windows Server 2003 SP2

The .NET Framework does not support all versions of every platform. For a list of the supported versions, see .NET Framework System Requirements.
Thread Safety

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

Reference