PropertyInformation Class

Definition

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

public ref class PropertyInformation sealed
public sealed class PropertyInformation
type PropertyInformation = class
Public NotInheritable Class PropertyInformation
Inheritance
PropertyInformation

Examples

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

#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();
    }
  }
}
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

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.

Properties

Converter

Gets the TypeConverter object related to the configuration attribute.

DefaultValue

Gets an object containing the default value related to a configuration attribute.

Description

Gets the description of the object that corresponds to a configuration attribute.

IsKey

Gets a value specifying whether the configuration attribute is a key.

IsLocked

Gets a value specifying whether the configuration attribute is locked.

IsModified

Gets a value specifying whether the configuration attribute has been modified.

IsRequired

Gets a value specifying whether the configuration attribute is required.

LineNumber

Gets the line number in the configuration file related to the configuration attribute.

Name

Gets the name of the object that corresponds to a configuration attribute.

Source

Gets the source file that corresponds to a configuration attribute.

Type

Gets the Type of the object that corresponds to a configuration attribute.

Validator

Gets a ConfigurationValidatorBase object related to the configuration attribute.

Value

Gets or sets an object containing the value related to a configuration attribute.

ValueOrigin

Gets a PropertyValueOrigin object related to the configuration attribute.

Methods

Equals(Object)

Determines whether the specified object is equal to the current object.

(Inherited from Object)
GetHashCode()

Serves as the default hash function.

(Inherited from Object)
GetType()

Gets the Type of the current instance.

(Inherited from Object)
MemberwiseClone()

Creates a shallow copy of the current Object.

(Inherited from Object)
ToString()

Returns a string that represents the current object.

(Inherited from Object)

Applies to

See also