GenericEnumConverter クラス
アセンブリ: System.Configuration (system.configuration.dll 内)


この型は、他のすべての構成コンバータ型と同様に、構成ファイル内に存在する文字列と、関連する厳密に型指定されたプロパティとの間の変換を行います。
特に、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.ComponentModel.TypeConverter
System.Configuration.ConfigurationConverterBase
System.Configuration.GenericEnumConverter


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 によってサポートされていないバージョンがあります。サポートされているバージョンについては、「システム要件」を参照してください。


GenericEnumConverter メンバ
System.Configuration 名前空間
InfiniteIntConverter
InfiniteTimeSpanConverter
TimeSpanMinutesOrInfiniteConverter
TimeSpanSecondsConverter
TimeSpanSecondsOrInfiniteConverter
TypeNameConverter
WhiteSpaceTrimStringConverter
- GenericEnumConverter クラスのページへのリンク