ConfigurationProperty クラスとは? わかりやすく解説

Weblio 辞書 > コンピュータ > .NET Framework クラス ライブラリ リファレンス > ConfigurationProperty クラスの意味・解説 

ConfigurationProperty クラス

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

構成要素属性または子を表します。このクラス継承できません。

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

Public NotInheritable Class
 ConfigurationProperty
Dim instance As ConfigurationProperty
public sealed class ConfigurationProperty
public ref class ConfigurationProperty sealed
public final class ConfigurationProperty
public final class ConfigurationProperty
解説解説

次の例に示す CustomSection のように、単純な ConfigurationElement の場合ConfigurationProperty オブジェクトは、fileName などの属性表します

authentication など、サブセクションを含むセクションのように、もっと複雑な構成要素場合ConfigurationProperty オブジェクトは、属性だけでなく ConfigurationElement オブジェクトも表すことがあります

ConfigurationPropertyCollection クラスは、構成要素属性または ConfigurationElement オブジェクトとなる、ConfigurationProperty オブジェクトコレクション表します

ConfigurationProperty クラスは、個々構成設定表します。このクラス使用すると、特定の構成エンティティ (属性または要素) の名前、型、および既定値取得または設定を行うことができ、また、属性必須かどうか属性要素キーであるかどうか、または属性既定要素コレクションを表すかどうか指定できます

実装時の注意 すべての ConfigurationElement オブジェクトは、要素属性または子要素コレクションを表す ConfigurationProperty オブジェクト内部コレクションである ConfigurationPropertyCollection作成しますカスタマイズできない情報機能は、ElementInformation プロパティ提供する ElementInformation オブジェクト格納されます。 プログラム コーディング モデルまたは宣言 (属性付き) コーディング モデル使用してカスタム構成要素作成できます

使用例使用例
  1. カスタム セクション作成時に ConfigurationProperty使用する方法次のコード例示します

' Define a custom section.
' It shows how to use the ConfigurationProperty
' class when defining a custom section
' programmatically. 
' The variables prefixed with the
' _ sign are ConfigurationProperty types.

NotInheritable Public Class
 CustomSection
   Inherits ConfigurationSection
   
   
   ' CustomSection constructor.
   Shared Sub New()
      
      ' Initialize the _FileName
         _FileName = New ConfigurationProperty( _
         "fileName", GetType(String),
 _
         "default.txt")
      ' Initialize the _MaxUsers
         _MaxUsers = New ConfigurationProperty( _
         "maxUsers", GetType(Long),
 _
         Fix(1000), ConfigurationPropertyOptions.None)
      ' Initialize the _MaxIdleTime
         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
         _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()
      ' The collection (property bag) that contains 
      ' the properties is declared as:
      ' ConfigurationPropertyCollection _Properties;
      _Properties.Add(_FileName)
      _Properties.Add(_Alias)
      _Properties.Add(_MaxUsers)
         _Properties.Add(_MaxIdleTime)

     End Sub 'New 
   
   ' Return the initialized property bag
   ' for the configuration element.
   ' The collection (property bag) that contains 
   ' the properties is declared as:
   ' ConfigurationPropertyCollection _Properties;
   
     Protected Overrides ReadOnly
 Property Properties() _
     As ConfigurationPropertyCollection
         Get
             Return _Properties
         End Get
     End Property
   
   
   ' Clear the property.
   ' It deletes all the attributes of the
   ' configuration element represented by
   ' the property.
   Public Sub ClearCollection()
      Properties.Clear()
   End Sub 'ClearCollection
   
   ' Remove an element from the property collection.
   ' It deletes the specified attribute from the
   ' configuration element represented by
   ' the property.
   Public Sub RemoveCollectionElement(elName
 As String)
      Properties.Remove(elName)
   End Sub 'RemoveCollectionElement
   
   ' Get the property collection enumerator.
   Public Function GetCollectionEnumerator()
 As IEnumerator
      Return Properties.GetEnumerator()
   End Function 'GetCollectionEnumerator
   
   
   
     <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
         Me("maxIdleTime") = value
      End Set
   End Property
End Class 'CustomSection
 
// Define a custom section.
// It shows how to use the ConfigurationProperty
// class when defining a custom section
// programmatically. 
// The variables prefixed with the
// _ sign are ConfigurationProperty types.
public sealed class CustomSection :
    ConfigurationSection
{

    // CustomSection constructor.
    static CustomSection()
    {

        // Initialize the _FileName
        _FileName =
            new ConfigurationProperty("fileName",
            typeof(string), "default.txt");

        // Initialize the _MaxUsers
        _MaxUsers =
            new ConfigurationProperty("maxUsers",
            typeof(long), (long)1000,
            ConfigurationPropertyOptions.None);

        // Initialize the _MaxIdleTime
        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
        _Alias =
            new ConfigurationProperty("alias",
            typeof(string), "alias.txt");



        // Property collection initialization.
        // The collection (property bag) that contains 
        // the properties is declared as:
        // ConfigurationPropertyCollection _Properties;
        _Properties =
            new ConfigurationPropertyCollection();

        // The collection (property bag) that contains 
        // the properties is declared as:
        // ConfigurationPropertyCollection _Properties;
        _Properties.Add(_FileName);
        _Properties.Add(_Alias);
        _Properties.Add(_MaxUsers);
        _Properties.Add(_MaxIdleTime);

    }

    // Return the initialized property bag
    // for the configuration element.
    // The collection (property bag) that contains 
    // the properties is declared as:
    // ConfigurationPropertyCollection _Properties;
    protected override ConfigurationPropertyCollection Properties
    {
        get
        {
            return _Properties;
        }
    }


    // Clear the property.
    // It deletes all the attributes of the
    // configuration element represented by
    // the property.
    public void ClearCollection()
    {
        Properties.Clear();
    }

    // Remove an element from the property collection.
    // It deletes the specified attribute from the
    // configuration element represented by
    // the property.
    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;
        }
    }

}

上記コード例使用した構成抜粋次に示します

<?xml version="1.0" encoding="utf-8"?>
<configuration>
  <configSections>
    <section name="CustomSection" type="Samples.AspNet, ConfigurationProperty,
 Version=1.0.0.0, Culture=neutral, PublicKeyToken=null" allowDefinition="Everywhere"
 allowExeDefinition="MachineToApplication" restartOnExternalChanges="true" />
  </configSections>
  <CustomSection fileName="default.txt" alias="alias.txt" maxUsers="1000"
    maxIdleTime="00:05:00" />
</configuration>

上記セクション作成する方法の例を次に示します

' 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>.
      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 'CreateSection
 
// Create a custom section.
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>.
        if (config.Sections["CustomSection"] == null)
        {
            customSection = new CustomSection();
            config.Sections.Add("CustomSection", customSection);
            customSection.SectionInformation.ForceSave = true;
            config.Save(ConfigurationSaveMode.Full);
        }
    }
    catch (ConfigurationErrorsException err)
    {
        Console.WriteLine(err.ToString());
    }

}
継承階層継承階層
System.Object
  System.Configuration.ConfigurationProperty
スレッド セーフスレッド セーフ
この型の public static (Visual Basic では Shared) メンバはすべて、スレッド セーフです。インスタンス メンバ場合は、スレッド セーフであるとは限りません。
プラットフォームプラットフォーム
バージョン情報バージョン情報
参照参照
関連項目
ConfigurationProperty メンバ
System.Configuration 名前空間
ElementInformation
ConfigurationElementCollection クラス
ConfigurationElementCollectionType 列挙
ConfigurationElement クラス
ConfigurationPropertyCollection
ConfigurationSection



英和和英テキスト翻訳>> Weblio翻訳
英語⇒日本語日本語⇒英語
  

辞書ショートカット

すべての辞書の索引

「ConfigurationProperty クラス」の関連用語

ConfigurationProperty クラスのお隣キーワード
検索ランキング

   

英語⇒日本語
日本語⇒英語
   



ConfigurationProperty クラスのページの著作権
Weblio 辞書 情報提供元は 参加元一覧 にて確認できます。

   
日本マイクロソフト株式会社日本マイクロソフト株式会社
© 2025 Microsoft.All rights reserved.

©2025 GRAS Group, Inc.RSS