ConfigurationProperty クラス
定義
重要
一部の情報は、リリース前に大きく変更される可能性があるプレリリースされた製品に関するものです。 Microsoft は、ここに記載されている情報について、明示または黙示を問わず、一切保証しません。
属性または構成要素の子を表します。 このクラスは継承できません。
この API は製品インフラストラクチャをサポートします。コードから直接使用するものではありません。
public ref class ConfigurationProperty sealed
public sealed class ConfigurationProperty
type ConfigurationProperty = class
Public NotInheritable Class ConfigurationProperty
- 継承
-
ConfigurationProperty
例
- 次のコード例は、カスタム セクションを作成するときに を ConfigurationProperty 使用する方法を示しています。
using System;
using System.Configuration;
using System.Collections;
using System.ComponentModel;
namespace ConfigurationPropertyExample
{
// Define a custom section.
// Shows how to use the ConfigurationProperty
// class when defining a custom section.
public sealed class CustomSection : ConfigurationSection
{
// The collection (property bag) that contains
// the section properties.
private static ConfigurationPropertyCollection _Properties;
// The FileName property.
private static ConfigurationProperty _FileName;
// The Alias property.
private static ConfigurationProperty _Alias;
// The MaxUsers property.
private static ConfigurationProperty _MaxUsers;
// The MaxIdleTime property.
private static ConfigurationProperty _MaxIdleTime;
// CustomSection constructor.
static CustomSection()
{
// Initialize the _FileName property
_FileName =
new ConfigurationProperty("fileName",
typeof(string), "default.txt");
// Initialize the _MaxUsers property
_MaxUsers =
new ConfigurationProperty("maxUsers",
typeof(long), (long)1000,
ConfigurationPropertyOptions.None);
// Initialize the _MaxIdleTime property
TimeSpan minTime = TimeSpan.FromSeconds(30);
TimeSpan maxTime = TimeSpan.FromMinutes(5);
ConfigurationValidatorBase _TimeSpanValidator =
new TimeSpanValidator(minTime, maxTime, false);
_MaxIdleTime =
new ConfigurationProperty("maxIdleTime",
typeof(TimeSpan), TimeSpan.FromMinutes(5),
TypeDescriptor.GetConverter(typeof(TimeSpan)),
_TimeSpanValidator,
ConfigurationPropertyOptions.IsRequired,
"[Description:This is the max idle time.]");
// Initialize the _Alias property
_Alias =
new ConfigurationProperty("alias",
typeof(string), "alias.txt");
// Initialize the Property collection.
_Properties = new ConfigurationPropertyCollection();
_Properties.Add(_FileName);
_Properties.Add(_Alias);
_Properties.Add(_MaxUsers);
_Properties.Add(_MaxIdleTime);
}
// Return the initialized property bag
// for the configuration element.
protected override ConfigurationPropertyCollection Properties
{
get
{
return _Properties;
}
}
// Clear the property.
public void ClearCollection()
{
Properties.Clear();
}
// Remove an element from the property collection.
public void RemoveCollectionElement(string elName)
{
Properties.Remove(elName);
}
// Get the property collection enumerator.
public IEnumerator GetCollectionEnumerator()
{
return (Properties.GetEnumerator());
}
[StringValidator(InvalidCharacters = " ~!@#$%^&*()[]{}/;'\"|\\",
MinLength = 1, MaxLength = 60)]
public string FileName
{
get
{
return (string)this["fileName"];
}
set
{
this["fileName"] = value;
}
}
[StringValidator(InvalidCharacters = " ~!@#$%^&*()[]{}/;'\"|\\",
MinLength = 1, MaxLength = 60)]
public string Alias
{
get
{
return (string)this["alias"];
}
set
{
this["alias"] = value;
}
}
[LongValidator(MinValue = 1, MaxValue = 1000000,
ExcludeRange = false)]
public long MaxUsers
{
get
{
return (long)this["maxUsers"];
}
set
{
this["maxUsers"] = value;
}
}
public TimeSpan MaxIdleTime
{
get
{
return (TimeSpan)this["maxIdleTime"];
}
set
{
this["maxIdleTime"] = value;
}
}
}
}
Imports System.Configuration
Imports System.Collections
Imports System.ComponentModel
' Define a custom section.
' Shows how to use the ConfigurationProperty
' class when defining a custom section.
Public NotInheritable Class CustomSection
Inherits ConfigurationSection
' The collection (property bag) that contains
' the section properties.
Private Shared _Properties As ConfigurationPropertyCollection
' The FileName property.
Private Shared _FileName As ConfigurationProperty
' The Alias property.
Private Shared _Alias As ConfigurationProperty
' The MasUsers property.
Private Shared _MaxUsers As ConfigurationProperty
' The MaxIdleTime property.
Private Shared _MaxIdleTime As ConfigurationProperty
' CustomSection constructor.
Shared Sub New()
' Initialize the _FileName property
_FileName = New ConfigurationProperty( _
"fileName", GetType(String), "default.txt")
' Initialize the _MaxUsers property
_MaxUsers = New ConfigurationProperty( _
"maxUsers", GetType(Long), 1000L, _
ConfigurationPropertyOptions.None)
' Initialize the _MaxIdleTime property
Dim minTime As TimeSpan = TimeSpan.FromSeconds(30)
Dim maxTime As TimeSpan = TimeSpan.FromMinutes(5)
Dim _TimeSpanValidator = _
New TimeSpanValidator(minTime, maxTime, False)
_MaxIdleTime = New ConfigurationProperty( _
"maxIdleTime", GetType(TimeSpan), _
TimeSpan.FromMinutes(5), _
TypeDescriptor.GetConverter(GetType(TimeSpan)), _
_TimeSpanValidator, _
ConfigurationPropertyOptions.IsRequired, _
"[Description:This is the max idle time.]")
' Initialize the _Alias property
_Alias = New ConfigurationProperty( _
"alias", GetType(String), "alias.txt")
' Property collection initialization.
' The collection (property bag) that contains
' the properties is declared as:
' ConfigurationPropertyCollection _Properties;
_Properties = New ConfigurationPropertyCollection()
_Properties.Add(_FileName)
_Properties.Add(_Alias)
_Properties.Add(_MaxUsers)
_Properties.Add(_MaxIdleTime)
End Sub
' Return the initialized property bag
' for the configuration element.
Protected Overrides ReadOnly Property Properties() _
As ConfigurationPropertyCollection
Get
Return _Properties
End Get
End Property
<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
<StringValidator(InvalidCharacters:= _
" ~!@#$%^&*()[]{}/;'""|\", MinLength:=1, _
MaxLength:=60)> _
Public Property [Alias]() As String
Get
Return CStr(Me("alias"))
End Get
Set(ByVal value As String)
Me("alias") = value
End Set
End Property
<LongValidator(MinValue:=1, _
MaxValue:=1000000, 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
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
End Class
前の例のコードで使用した構成ファイルの抜粋を次に示します。
<configuration>
<configSections>
<section name="CustomSection" type="ConfigurationPropertyExample.CustomSection, ConfigurationPropertyExample"
allowDefinition="Everywhere" allowExeDefinition="MachineToApplication"
restartOnExternalChanges="true" />
</configSections>
<CustomSection fileName="override.txt" alias="alias.txt"
maxUsers="1000" maxIdleTime="00:05:00" />
</configuration>
次の例は、コードで前のセクションを作成する方法を示しています。
// Define a custom section programmatically.
static void CreateSection()
{
try
{
CustomSection customSection;
// Get the current configuration file.
System.Configuration.Configuration config =
ConfigurationManager.OpenExeConfiguration(
ConfigurationUserLevel.None);
// Create the section entry
// in the <configSections> and the
// related target section in <configuration>.
// Call it "CustomSection2" since the file in this
// example already has "CustomSection".
if (config.Sections["CustomSection"] == null)
{
customSection = new CustomSection();
config.Sections.Add("CustomSection2", customSection);
customSection.SectionInformation.ForceSave = true;
config.Save(ConfigurationSaveMode.Full);
}
}
catch (ConfigurationErrorsException err)
{
Console.WriteLine(err.ToString());
}
}
' Create a custom section.
Shared Sub CreateSection()
Try
Dim customSection As CustomSection
' Get the current configuration file.
Dim config As System.Configuration.Configuration = _
ConfigurationManager.OpenExeConfiguration( _
ConfigurationUserLevel.None)
' Create the section entry
' in the <configSections> and the
' related target section in <configuration>.
' Since the config file already has "CustomSection",
' call this one "CustomSection2".
If config.Sections("CustomSection") Is Nothing Then
customSection = New CustomSection()
config.Sections.Add("CustomSection", customSection)
customSection.SectionInformation.ForceSave = True
config.Save(ConfigurationSaveMode.Full)
End If
Catch err As ConfigurationErrorsException
Console.WriteLine(err.ToString())
End Try
End Sub
注釈
次の例に示すような単純な ConfigurationElementの CustomSection
場合、オブジェクトは ConfigurationProperty などの fileName
属性を表します。
サブセクションを含むセクションなど、より複雑な構成要素の場合、authentication
ConfigurationPropertyオブジェクトはオブジェクトと属性を表ConfigurationElementすことができます。
クラスは ConfigurationPropertyCollection 、構成要素の ConfigurationProperty 属性または ConfigurationElement オブジェクトのいずれかにすることができるオブジェクトのコレクションを表します。
クラスは ConfigurationProperty 、個々の構成設定を表します。 このクラスを使用すると、特定の構成エンティティ (属性または要素) の名前、型、既定値を取得または設定し、属性が必須か、要素キーか、または既定の要素コレクションを表すかを指定できます。
注意 (継承者)
すべてのConfigurationElementオブジェクトは、要素属性または子要素のConfigurationPropertyコレクションを表す オブジェクトの内部ConfigurationPropertyCollectionコレクションを作成します。
カスタマイズ不可能な情報と機能は、 プロパティによって ElementInformation 提供されるオブジェクトに ElementInformation 含まれています。
プログラムまたは宣言型 (属性付き) コーディング モデルを使用して、カスタム構成要素を作成できます。
プログラムモデル。 このモデルでは、各要素属性のプロパティを作成して、その値を取得または設定し、基になる ConfigurationElement 基底クラスの内部プロパティ バッグに追加する必要があります。
宣言型モデル。 属性付きモデルとも呼ばれるこの単純なモデルを使用すると、プロパティを使用して要素属性を定義し、属性で装飾することができます。 これらの属性は、プロパティの種類とその既定値について ASP.NET 構成システムに指示します。 リフレクションによって取得されたこの情報を使用すると、ASP.NET 構成システムによって要素プロパティ オブジェクトが自動的に作成され、必要な初期化が実行されます。
コンストラクター
ConfigurationProperty(String, Type) |
この API は製品インフラストラクチャをサポートします。コードから直接使用するものではありません。 ConfigurationProperty クラスの新しいインスタンスを初期化します。 |
ConfigurationProperty(String, Type, Object) |
この API は製品インフラストラクチャをサポートします。コードから直接使用するものではありません。 ConfigurationProperty クラスの新しいインスタンスを初期化します。 |
ConfigurationProperty(String, Type, Object, ConfigurationPropertyOptions) |
この API は製品インフラストラクチャをサポートします。コードから直接使用するものではありません。 ConfigurationProperty クラスの新しいインスタンスを初期化します。 |
ConfigurationProperty(String, Type, Object, TypeConverter, ConfigurationValidatorBase, ConfigurationPropertyOptions) |
この API は製品インフラストラクチャをサポートします。コードから直接使用するものではありません。 ConfigurationProperty クラスの新しいインスタンスを初期化します。 |
ConfigurationProperty(String, Type, Object, TypeConverter, ConfigurationValidatorBase, ConfigurationPropertyOptions, String) |
この API は製品インフラストラクチャをサポートします。コードから直接使用するものではありません。 ConfigurationProperty クラスの新しいインスタンスを初期化します。 |
プロパティ
Converter |
この API は製品インフラストラクチャをサポートします。コードから直接使用するものではありません。 構成ファイルへの書き込みを目的として、この TypeConverter を XML 表現に変換するために使用する ConfigurationProperty を取得します。 |
DefaultValue |
この API は製品インフラストラクチャをサポートします。コードから直接使用するものではありません。 この ConfigurationProperty プロパティの既定値を取得します。 |
Description |
この API は製品インフラストラクチャをサポートします。コードから直接使用するものではありません。 ConfigurationProperty に関連付けられている説明を取得します。 |
IsAssemblyStringTransformationRequired |
この API は製品インフラストラクチャをサポートします。コードから直接使用するものではありません。 以前のバージョンの .NET Framework 用に構成プロパティのアセンブリ名をシリアル化する場合に、アセンブリ名の変換が必要かどうかを示します。 |
IsDefaultCollection |
この API は製品インフラストラクチャをサポートします。コードから直接使用するものではありません。 プロパティが要素の既定のコレクションであるかどうかを示す値を取得します。 |
IsKey |
この API は製品インフラストラクチャをサポートします。コードから直接使用するものではありません。 この ConfigurationProperty が、格納する側の ConfigurationElement オブジェクトのキーかどうかを示す値を取得します。 |
IsRequired |
この API は製品インフラストラクチャをサポートします。コードから直接使用するものではありません。 この ConfigurationProperty が必要かどうかを示す値を取得します。 |
IsTypeStringTransformationRequired |
この API は製品インフラストラクチャをサポートします。コードから直接使用するものではありません。 以前のバージョンの .NET Framework 用に構成プロパティの型名をシリアル化する場合に、型名の変換が必要かどうかを示します。 |
IsVersionCheckRequired |
この API は製品インフラストラクチャをサポートします。コードから直接使用するものではありません。 構成プロパティを XML にシリアル化するかどうかを判断するために、シリアル化時に構成プロパティの親構成セクションを照会する必要があるかどうかを示します。 |
Name |
この API は製品インフラストラクチャをサポートします。コードから直接使用するものではありません。 この ConfigurationProperty の名前を取得します。 |
Type |
この API は製品インフラストラクチャをサポートします。コードから直接使用するものではありません。 この ConfigurationProperty オブジェクトの型を取得します。 |
Validator |
この API は製品インフラストラクチャをサポートします。コードから直接使用するものではありません。 この ConfigurationValidatorAttribute オブジェクトを検証するために使用する ConfigurationProperty を取得します。 |
メソッド
Equals(Object) |
この API は製品インフラストラクチャをサポートします。コードから直接使用するものではありません。 指定されたオブジェクトが現在のオブジェクトと等しいかどうかを判断します。 (継承元 Object) |
GetHashCode() |
この API は製品インフラストラクチャをサポートします。コードから直接使用するものではありません。 既定のハッシュ関数として機能します。 (継承元 Object) |
GetType() |
この API は製品インフラストラクチャをサポートします。コードから直接使用するものではありません。 現在のインスタンスの Type を取得します。 (継承元 Object) |
MemberwiseClone() |
この API は製品インフラストラクチャをサポートします。コードから直接使用するものではありません。 現在の Object の簡易コピーを作成します。 (継承元 Object) |
ToString() |
この API は製品インフラストラクチャをサポートします。コードから直接使用するものではありません。 現在のオブジェクトを表す文字列を返します。 (継承元 Object) |
適用対象
こちらもご覧ください
.NET