クリックして評価とフィードバックをお寄せください
MSDN
MSDN ライブラリ
.NET 開発
以前のバージョン
.NET Framework SDK 2.0
System.Configuration

  低帯域幅での表示をオンにする
このページは次のバージョンについて記述しています。
Microsoft Visual Studio 2005/.NET Framework 2.0

その他のバージョンについては、以下の情報を参照してください。
.NET Framework クラス ライブラリ
ConfigurationPropertyAttribute クラス

メモ : このクラスは、.NET Framework version 2.0 で新しく追加されたものです。

.NET Framework が構成プロパティをインスタンス化するように、宣言によって指示します。このクラスは継承できません。

名前空間: System.Configuration
アセンブリ: System.Configuration (system.configuration.dll 内)

Visual Basic (宣言)
<AttributeUsageAttribute(AttributeTargets.Property)> _
Public NotInheritable Class ConfigurationPropertyAttribute
    Inherits Attribute
Visual Basic (使用法)
Dim instance As ConfigurationPropertyAttribute
C#
[AttributeUsageAttribute(AttributeTargets.Property)] 
public sealed class ConfigurationPropertyAttribute : Attribute
C++
[AttributeUsageAttribute(AttributeTargets::Property)] 
public ref class ConfigurationPropertyAttribute sealed : public Attribute
J#
/** @attribute AttributeUsageAttribute(AttributeTargets.Property) */ 
public final class ConfigurationPropertyAttribute extends Attribute
JScript
AttributeUsageAttribute(AttributeTargets.Property) 
public final class ConfigurationPropertyAttribute extends Attribute

ConfigurationPropertyAttribute を使用して、.NET Framework にインスタンス化を指示する構成プロパティを装飾し、装飾のパラメータの値を使用してプロパティを初期化します。

メモメモ

カスタムの構成要素を作成する最も簡単な方法は、属性付き (宣言) モデルを使用することです。カスタムのパブリック プロパティを宣言し、それらを ConfigurationPropertyAttribute 属性で装飾します。.NET Framework は、この属性でマークされたプロパティごとに、リフレクションを使用して装飾のパラメータを読み取り、関連する ConfigurationProperty インスタンスを作成します。また、プログラム モデルも使用できます。この場合には、開発者が、カスタムのパブリック プロパティを宣言し、それらのコレクションを返す必要があります。

.NET Framework 構成システムには、カスタムの構成要素の作成時に使用できる属性の型が用意されています。2 種類の属性の型があります。

  1. .NET Framework に、カスタムの構成要素のプロパティをインスタンス化する方法を指示する型。次の属性がこれらの型に含まれます。

  2. .NET Framework に、カスタムの構成要素のプロパティを検証する方法を指示する型。次の属性がこれらの型に含まれます。

ConfigurationPropertyAttribute 属性を使用して、カスタム ConfigurationSection オブジェクトのプロパティを装飾する方法を、次のコード例に示します。

Visual Basic
Public Class SampleSection
   Inherits ConfigurationSection
   
   Public Sub New()
   End Sub 'New
   
   
    <ConfigurationProperty("fileName", _
    DefaultValue:="default.txt", _
    IsRequired:=True, _
    IsKey:=False), _
    StringValidator( _
    InvalidCharacters:=" ~!@#$%^&*()[]{}/;'""|\", _
    MinLength:=1, _
    MaxLength:=60)> _
    Public Property FileName() As String
        Get
            Return CStr(Me("fileName"))
        End Get
        Set(ByVal value As String)
            Me("fileName") = value
        End Set
    End Property


    <ConfigurationProperty("maxUsers", _
    DefaultValue:=10000, _
    IsRequired:=False), _
    LongValidator(MinValue:=1, _
    MaxValue:=10000000, _
    ExcludeRange:=False)> _
   Public Property MaxUsers() As Long
        Get
            Return Fix(Me("maxUsers"))
        End Get
        Set(ByVal value As Long)
            Me("maxUsers") = value
        End Set
    End Property

    <ConfigurationProperty("maxIdleTime", _
    DefaultValue:="0:10:0", _
    IsRequired:=False), _
    TimeSpanValidator(MinValueString:="0:0:30", _
    MaxValueString:="5:00:0", _
    ExcludeRange:=False)> _
    Public Property MaxIdleTime() As TimeSpan
        Get
            Return CType(Me("maxIdleTime"), TimeSpan)
        End Get
        Set(ByVal value As TimeSpan)
            Me("maxIdleTime") = value
        End Set
    End Property
C#
   
public class SampleSection : 
    ConfigurationSection
{
    public SampleSection()
    {
    }

    [ConfigurationProperty("fileName", DefaultValue = "default.txt",
        IsRequired = true, IsKey = false)]
    [StringValidator(InvalidCharacters = " ~!@#$%^&*()[]{}/;'\"|\\",
        MinLength = 1, MaxLength = 60)]
    public string FileName
    {
        get
        {
            return (string)this["fileName"];
        }
        set
        {
            this["fileName"] = value;
        }
    }

    [ConfigurationProperty("maxUsers", DefaultValue = (long)10000,  
        IsRequired=false)]
    [LongValidator(MinValue = 1, MaxValue = 10000000,
        ExcludeRange = false)]
    public long MaxUsers
    {
        get
        {
            return (long)this["maxUsers"];
        }
        set
        {
            this["maxUsers"] = value;
        }
    }

    [ConfigurationProperty("maxIdleTime",
        DefaultValue = "0:10:0",
        IsRequired = false)]
    [TimeSpanValidator(MinValueString = "0:0:30", 
        MaxValueString = "5:00:0",
        ExcludeRange = false)]
    public TimeSpan MaxIdleTime
    {
        get
        {
            return (TimeSpan)this["maxIdleTime"];
        }
        set
        {
            this["maxIdleTime"] = value;
        }
    }
}

以下は、前の例で定義されていたカスタム セクションが含まれる構成ファイルからの抜粋です。

<configuration xmlns="http://schemas.microsoft.com/.NetConfiguration/v2.0">
  <configSections>
    <section name="custom" type="Samples.AspNet.SampleSection, ConfigurationPropertyAttribute" />
  </configSections>
  <custom fileName="Default.txt" 
    maxUsers="2500" maxIdleTime="00:10:00" />
</configuration>
System.Object
   System.Attribute
    System.Configuration.ConfigurationPropertyAttribute
この型の public static (Visual Basic では Shared) メンバはすべて、スレッド セーフです。インスタンス メンバの場合は、スレッド セーフであるとは限りません。

Windows 98, Windows 2000 SP4, Windows Millennium Edition, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition

開発プラットフォームの中には、.NET Framework によってサポートされていないバージョンがあります。サポートされているバージョンについては、「システム要件」を参照してください。

.NET Framework

サポート対象 : 2.0
コミュニティ コンテンツ   コミュニティ コンテンツとは
新しいコンテンツの追加 RSS  注釈
Processing
© 2009 Microsoft Corporation. All rights reserved. 使用条件  |  商標  |  プライバシー
Page view tracker