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

GenericEnumConverter クラス

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

文字列と列挙型との間の変換行います

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

Public NotInheritable Class
 GenericEnumConverter
    Inherits ConfigurationConverterBase
Dim instance As GenericEnumConverter
public sealed class GenericEnumConverter :
 ConfigurationConverterBase
public ref class GenericEnumConverter sealed
 : public ConfigurationConverterBase
public final class GenericEnumConverter extends
 ConfigurationConverterBase
public final class GenericEnumConverter extends
 ConfigurationConverterBase
解説解説

この型は、他のすべての構成コンバータ型と同様に構成ファイル内に存在する文字列と、関連する厳密に指定されプロパティとの間の変換行います

特に、GenericEnumConverter オブジェクトは、構成プロパティ代入されString 値から Enum 値への変換、およびその逆の変換行います

使用例使用例

GenericEnumConverter 型を使用したカスタム セクション プロパティアクセスする方法次のコード例示します

Imports System
Imports System.IO
Imports System.ComponentModel
Imports System.Configuration




NotInheritable Public Class
 UsingGenericEnumConverter
    
    Public Shared Sub GetPermission()
 
        Try
            Dim section As CustomSection =
 _
            ConfigurationManager.GetSection("CustomSection")
            Console.WriteLine("Default Permission: {0}",
 _
            section.Permission.ToString())
        Catch e As System.Exception
            Console.WriteLine(e.Message)
        End Try
    
    End Sub 'GetPermission
    
    
    Public Shared Sub SetPermission()
 
        Try
            Dim config _
            As System.Configuration.Configuration = _
            ConfigurationManager.OpenExeConfiguration( _
            ConfigurationUserLevel.None)
            
            Dim section As CustomSection =
 _
            config.Sections.Get("CustomSection")
            
            section.Permission = _
            CustomSection.Permissions.FullControl
            
            section.SectionInformation.ForceSave = True
            config.Save(ConfigurationSaveMode.Full)
            config.Save()
            
            Console.WriteLine( _
            "Current Protection: {0}", _
            section.Permission.ToString())
        Catch e As System.Exception
            Console.WriteLine(e.Message)
        End Try
    
    End Sub 'SetPermission
End Class 'UsingGenericEnumConverter
using System;
using System.IO;
using System.ComponentModel;
using System.Configuration;

namespace Samples.AspNet
{
  
    public sealed class UsingGenericEnumConverter
    {
        public static void
 GetPermission()
        {
            try
            {
                CustomSection section =
                    ConfigurationManager.GetSection("CustomSection")
                    as CustomSection;
                
                Console.WriteLine("Default Permission: {0}", 
                    section.Permission.ToString());
            }
            catch (System.Exception e)
            {
                Console.WriteLine(e.Message);
            }
        }

        public static void
 SetPermission()
        {
            try
            {
                System.Configuration.Configuration config =
                  ConfigurationManager.OpenExeConfiguration(
                  ConfigurationUserLevel.None);

                CustomSection section =
                    config.Sections.Get("CustomSection")
                    as CustomSection;

                section.Permission = 
                    CustomSection.Permissions.FullControl;

                section.SectionInformation.ForceSave = true;
                config.Save(ConfigurationSaveMode.Full); 
                config.Save();

                Console.WriteLine("Current Protection: {0}",
                    section.Permission.ToString());
            }
            catch (System.Exception e)
            {
                Console.WriteLine(e.Message);
            }
        }
    }
}

前述の例でアクセスしたカスタム列挙プロパティ定義する方法次のコード例示しますGenericEnumConverter 型を指定する要はありません。この型は、システムによって暗黙的に呼び出されます。

Public Enum Permissions
    FullControl = 0
    Modify = 1
    ReadExecute = 2
    Read = 3
    Write = 4
    SpecialPermissions = 5
End Enum 'Permissions


<ConfigurationProperty("permission", _
DefaultValue:=Permissions.Read)> _
Public Property Permission() As
 Permissions
    Get
        Return CType(Me("permission"),
 Permissions)
    End Get

    Set(ByVal value As Permissions)
        Me("permission") = Value
    End Set
End Property
public enum Permissions
{
    FullControl         = 0,
    Modify              = 1,
    ReadExecute         = 2,
    Read                = 3,
    Write               = 4,
    SpecialPermissions  = 5
}

[ConfigurationProperty("permission", DefaultValue = Permissions.Read)]
public Permissions Permission
{
    get
    {
        return (Permissions)this["permission"];
    }

    set
    {
        this["permission"] = value;
    }

}

前述の例で使用されている構成抜粋次に示します

<?xml version="1.0" encoding="utf-8"?>
<configuration>

  <configSections>
    <section name="CustomSection"
      type="Samples.AspNet.CustomSection,
      ConfigurationConverters,
      Version=1.0.0.0, Culture=neutral,
      PublicKeyToken=null"
      allowDefinition="Everywhere"
      allowExeDefinition="MachineToApplication"
      restartOnExternalChanges="true" />
  </configSections>

  <CustomSection fileName="default.txt" maxIdleTime="90" timeDelay="infinite"
 cdStr="str0, str1" permission="Read" maxUsers="Infinite"/>

</configuration>
継承階層継承階層
System.Object
   System.ComponentModel.TypeConverter
     System.Configuration.ConfigurationConverterBase
      System.Configuration.GenericEnumConverter
スレッド セーフスレッド セーフ
この型の public static (Visual Basic では Shared) メンバはすべて、スレッド セーフです。インスタンス メンバ場合は、スレッド セーフであるとは限りません。
プラットフォームプラットフォーム
バージョン情報バージョン情報
参照参照
関連項目
GenericEnumConverter メンバ
System.Configuration 名前空間
InfiniteIntConverter
InfiniteTimeSpanConverter
TimeSpanMinutesOrInfiniteConverter
TimeSpanSecondsConverter
TimeSpanSecondsOrInfiniteConverter
TypeNameConverter
WhiteSpaceTrimStringConverter



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

辞書ショートカット

すべての辞書の索引

「GenericEnumConverter クラス」の関連用語

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

   

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



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

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

©2025 GRAS Group, Inc.RSS