Поделиться через


GenericEnumConverter Класс

Определение

Преобразует между строковым типом и типом перечисления.

public ref class GenericEnumConverter sealed : System::Configuration::ConfigurationConverterBase
public sealed class GenericEnumConverter : System.Configuration.ConfigurationConverterBase
type GenericEnumConverter = class
    inherit ConfigurationConverterBase
Public NotInheritable Class GenericEnumConverter
Inherits ConfigurationConverterBase
Наследование

Примеры

В следующем примере кода показано, как получить доступ к свойству настраиваемого раздела, использующего GenericEnumConverter тип .

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);
            }
        }
    }
}
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
    
    
    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
End Class

В следующем примере кода показано, как определить пользовательское свойство перечислителя, доступ к которое было показано в предыдущем примере. Обратите внимание, что нет необходимости указывать GenericEnumConverter тип; он неявно вызывается системой.


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;
    }
}

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

В следующем примере приведен фрагмент конфигурации, используемый в предыдущем примере.

<?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>  

Комментарии

Этот тип, как и все другие типы преобразователя конфигурации, преобразует строки, найденные в файле конфигурации, в связанные строго типизированные свойства и из этих свойств.

В частности, GenericEnumConverter объект преобразует String значение, назначенное свойству конфигурации, в Enum значение и наоборот.

Конструкторы

GenericEnumConverter(Type)

Инициализирует новый экземпляр класса GenericEnumConverter.

Методы

CanConvertFrom(ITypeDescriptorContext, Type)

Определяет, разрешено ли преобразование.

(Унаследовано от ConfigurationConverterBase)
CanConvertFrom(Type)

Возвращает значение, указывающее, может ли этот преобразователь преобразовать объект заданного типа к типу этого преобразователя.

(Унаследовано от TypeConverter)
CanConvertTo(ITypeDescriptorContext, Type)

Определяет, разрешено ли преобразование.

(Унаследовано от ConfigurationConverterBase)
CanConvertTo(Type)

Возвращает значение, указывающее, может ли этот преобразователь выполнить преобразование данного объекта к заданному типу.

(Унаследовано от TypeConverter)
ConvertFrom(ITypeDescriptorContext, CultureInfo, Object)

Преобразует String в тип Enum.

ConvertFrom(Object)

Приводит заданное значение к типу этого преобразователя.

(Унаследовано от TypeConverter)
ConvertFromInvariantString(ITypeDescriptorContext, String)

Преобразует заданную строку к типу этого преобразователя, используя нейтральные язык и региональные параметры вместе с заданным контекстом.

(Унаследовано от TypeConverter)
ConvertFromInvariantString(String)

Преобразует заданную строку к типу этого преобразователя, используя нейтральные язык и региональные параметры.

(Унаследовано от TypeConverter)
ConvertFromString(ITypeDescriptorContext, CultureInfo, String)

Преобразует заданный текст в объект, используя заданный контекст и сведения о языке и региональных параметрах.

(Унаследовано от TypeConverter)
ConvertFromString(ITypeDescriptorContext, String)

Преобразует заданный текст в объект, используя заданный контекст.

(Унаследовано от TypeConverter)
ConvertFromString(String)

Преобразует заданный текст в объект.

(Унаследовано от TypeConverter)
ConvertTo(ITypeDescriptorContext, CultureInfo, Object, Type)

Преобразует тип Enum в значение String.

ConvertTo(Object, Type)

Преобразует данное значение в указанный тип, используя заданные аргументы.

(Унаследовано от TypeConverter)
ConvertToInvariantString(ITypeDescriptorContext, Object)

Преобразует указанное значение в строковое представление для нейтральных языка и региональных параметров.

(Унаследовано от TypeConverter)
ConvertToInvariantString(Object)

Преобразует указанное значение в строковое представление для нейтральных языка и региональных параметров.

(Унаследовано от TypeConverter)
ConvertToString(ITypeDescriptorContext, CultureInfo, Object)

Преобразует данное значение в заданный тип, используя заданный контекст и сведения о языке и региональных параметрах.

(Унаследовано от TypeConverter)
ConvertToString(ITypeDescriptorContext, Object)

Преобразует данное значение в строку, используя данный контекст.

(Унаследовано от TypeConverter)
ConvertToString(Object)

Преобразует указанное значение в строковое представление.

(Унаследовано от TypeConverter)
CreateInstance(IDictionary)

Повторно создает объект Object, задающий набор значений свойств для объекта.

(Унаследовано от TypeConverter)
CreateInstance(ITypeDescriptorContext, IDictionary)

Создает экземпляр типа, с которым связан этот TypeConverter, используя заданный контекст с учетом набора значений свойств для объекта.

(Унаследовано от TypeConverter)
Equals(Object)

Определяет, равен ли указанный объект текущему объекту.

(Унаследовано от Object)
GetConvertFromException(Object)

Возвращает исключение, возникающее в случае, если невозможно выполнить преобразование.

(Унаследовано от TypeConverter)
GetConvertToException(Object, Type)

Возвращает исключение, возникающее в случае, если невозможно выполнить преобразование.

(Унаследовано от TypeConverter)
GetCreateInstanceSupported()

Возвращает значение, показывающее, требуется ли при изменении значения этого объекта вызывать метод CreateInstance(IDictionary), чтобы создать новое значение.

(Унаследовано от TypeConverter)
GetCreateInstanceSupported(ITypeDescriptorContext)

Возвращает значение, указывающее, требуется ли для изменения значения в этом объекте вызов CreateInstance(IDictionary), чтобы создать новое значение с помощью указанного контекста.

(Унаследовано от TypeConverter)
GetHashCode()

Служит хэш-функцией по умолчанию.

(Унаследовано от Object)
GetProperties(ITypeDescriptorContext, Object)

Возвращает коллекцию свойств для типа массива, заданного параметром, используя заданный контекст.

(Унаследовано от TypeConverter)
GetProperties(ITypeDescriptorContext, Object, Attribute[])

Возвращает коллекцию свойств для типа массива, заданного параметром value, используя заданные контекст и атрибуты.

(Унаследовано от TypeConverter)
GetProperties(Object)

Возвращает коллекцию свойств для типа массива, заданного параметром значения.

(Унаследовано от TypeConverter)
GetPropertiesSupported()

Возвращает значение, показывающее, поддерживаются ли свойства этим объектом.

(Унаследовано от TypeConverter)
GetPropertiesSupported(ITypeDescriptorContext)

Возвращает значение, показывающее, поддерживает ли данный объект свойства, используя заданный контекст.

(Унаследовано от TypeConverter)
GetStandardValues()

Возвращает коллекцию стандартных значений из контекста по умолчанию для типа данных, для которого предназначен этот преобразователь типов.

(Унаследовано от TypeConverter)
GetStandardValues(ITypeDescriptorContext)

Возвращает коллекцию стандартных значений для типа данных, для которого предназначен этот преобразователь типов при предоставлении с контекстом формата.

(Унаследовано от TypeConverter)
GetStandardValuesExclusive()

Возвращает значение, показывающее, является ли исчерпывающим списком коллекция стандартных значений, возвращаемая методом GetStandardValues().

(Унаследовано от TypeConverter)
GetStandardValuesExclusive(ITypeDescriptorContext)

Используя заданный контекст, возвращает значение, показывающее, является ли исчерпывающим списком возможных значений коллекция стандартных значений, возвращаемая методом GetStandardValues().

(Унаследовано от TypeConverter)
GetStandardValuesSupported()

Возвращает значение, показывающее, поддерживает ли объект стандартный набор значений, которые можно выбрать из списка.

(Унаследовано от TypeConverter)
GetStandardValuesSupported(ITypeDescriptorContext)

Получает значение, показывающее, поддерживает ли этот объект стандартный набор значений, которые можно выбрать из списка, используя заданную контекстную информацию.

(Унаследовано от TypeConverter)
GetType()

Возвращает объект Type для текущего экземпляра.

(Унаследовано от Object)
IsValid(ITypeDescriptorContext, Object)

Возвращает значение, показывающее, допустим ли для этого типа и указанного контекста данный объект значения.

(Унаследовано от TypeConverter)
IsValid(Object)

Возвращает значение, показывающее, допустим ли для этого типа данный объект значения.

(Унаследовано от TypeConverter)
MemberwiseClone()

Создает неполную копию текущего объекта Object.

(Унаследовано от Object)
SortProperties(PropertyDescriptorCollection, String[])

Сортирует коллекцию свойств.

(Унаследовано от TypeConverter)
ToString()

Возвращает строку, представляющую текущий объект.

(Унаследовано от Object)

Применяется к

См. также раздел