GenericEnumConverter Classe

Definição

Converte entre uma cadeia e um tipo de enumeração.

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
Herança

Exemplos

O exemplo de código seguinte mostra como aceder a uma propriedade de secção personalizada que utiliza o GenericEnumConverter tipo.

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

O seguinte exemplo de código mostra como definir uma propriedade de enumerador personalizada acedida no exemplo anterior. Note que não é necessário especificar o GenericEnumConverter tipo; é implicitamente invocado pelo sistema.


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

O exemplo seguinte é um excerto de configuração usado pelo exemplo anterior.

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

Observações

Este tipo, como todos os outros tipos de conversores de configuração, converte cadeias encontradas no ficheiro de configuração para e a partir das propriedades fortemente tipadas relacionadas.

Em particular, o GenericEnumConverter objeto converte um String valor, atribuído a uma propriedade de configuração, num Enum valor e vice-versa.

Construtores

Name Description
GenericEnumConverter(Type)

Inicializa uma nova instância da GenericEnumConverter classe.

Métodos

Name Description
CanConvertFrom(ITypeDescriptorContext, Type)

Determina se a conversão é permitida.

(Herdado de ConfigurationConverterBase)
CanConvertFrom(Type)

Devolve se este conversor pode converter um objeto do tipo dado para o tipo deste conversor.

(Herdado de TypeConverter)
CanConvertTo(ITypeDescriptorContext, Type)

Determina se a conversão é permitida.

(Herdado de ConfigurationConverterBase)
CanConvertTo(Type)

Devolve se este conversor pode converter o objeto para o tipo especificado.

(Herdado de TypeConverter)
ConvertFrom(ITypeDescriptorContext, CultureInfo, Object)

Converte a String em um Enum tipo.

ConvertFrom(Object)

Converte o valor dado para o tipo deste conversor.

(Herdado de TypeConverter)
ConvertFromInvariantString(ITypeDescriptorContext, String)

Converte a cadeia dada para o tipo deste conversor, usando a cultura invariante e o contexto especificado.

(Herdado de TypeConverter)
ConvertFromInvariantString(String)

Converte a cadeia dada para o tipo deste conversor, usando a cultura invariante.

(Herdado de TypeConverter)
ConvertFromString(ITypeDescriptorContext, CultureInfo, String)

Converte o texto dado num objeto, usando a informação específica de contexto e cultura.

(Herdado de TypeConverter)
ConvertFromString(ITypeDescriptorContext, String)

Converte o texto dado num objeto, usando o contexto especificado.

(Herdado de TypeConverter)
ConvertFromString(String)

Converte o texto especificado num objeto.

(Herdado de TypeConverter)
ConvertTo(ITypeDescriptorContext, CultureInfo, Object, Type)

Converte um Enum tipo num String valor.

ConvertTo(Object, Type)

Converte o objeto de valor dado para o tipo especificado, usando os argumentos.

(Herdado de TypeConverter)
ConvertToInvariantString(ITypeDescriptorContext, Object)

Converte o valor especificado para uma representação de cordas invariante à cultura, usando o contexto especificado.

(Herdado de TypeConverter)
ConvertToInvariantString(Object)

Converte o valor especificado para uma representação de cordas invariante à cultura.

(Herdado de TypeConverter)
ConvertToString(ITypeDescriptorContext, CultureInfo, Object)

Converte o valor dado numa representação de cadeia, usando a informação específica de contexto e cultura.

(Herdado de TypeConverter)
ConvertToString(ITypeDescriptorContext, Object)

Converte o valor dado numa representação de cadeia, usando o contexto dado.

(Herdado de TypeConverter)
ConvertToString(Object)

Converte o valor especificado numa representação de cadeia.

(Herdado de TypeConverter)
CreateInstance(IDictionary)

Recria um Object dado conjunto de valores de propriedade para o objeto.

(Herdado de TypeConverter)
CreateInstance(ITypeDescriptorContext, IDictionary)

Cria uma instância do tipo a que isto TypeConverter está associado, usando o contexto especificado, dado um conjunto de valores de propriedade para o objeto.

(Herdado de TypeConverter)
Equals(Object)

Determina se o objeto especificado é igual ao objeto atual.

(Herdado de Object)
GetConvertFromException(Object)

Devolve uma exceção ao lançamento quando uma conversão não pode ser realizada.

(Herdado de TypeConverter)
GetConvertToException(Object, Type)

Devolve uma exceção ao lançamento quando uma conversão não pode ser realizada.

(Herdado de TypeConverter)
GetCreateInstanceSupported()

Devolve se alterar um valor neste objeto requer uma chamada ao CreateInstance(IDictionary) método para criar um novo valor.

(Herdado de TypeConverter)
GetCreateInstanceSupported(ITypeDescriptorContext)

Devolve se alterar um valor neste objeto requer uma chamada a CreateInstance(IDictionary) para criar um novo valor, usando o contexto especificado.

(Herdado de TypeConverter)
GetHashCode()

Serve como função de hash predefinida.

(Herdado de Object)
GetProperties(ITypeDescriptorContext, Object, Attribute[])

Devolve uma coleção de propriedades para o tipo de array especificado pelo parâmetro de valor, usando o contexto e atributos especificados.

(Herdado de TypeConverter)
GetProperties(ITypeDescriptorContext, Object)

Devolve uma coleção de propriedades para o tipo de array especificado pelo parâmetro de valor, usando o contexto especificado.

(Herdado de TypeConverter)
GetProperties(Object)

Devolve uma coleção de propriedades para o tipo de array especificado pelo parâmetro de valor.

(Herdado de TypeConverter)
GetPropertiesSupported()

Devolve se este objeto suporta propriedades.

(Herdado de TypeConverter)
GetPropertiesSupported(ITypeDescriptorContext)

Devolve se este objeto suporta propriedades, usando o contexto especificado.

(Herdado de TypeConverter)
GetStandardValues()

Devolve uma coleção de valores padrão do contexto padrão para o tipo de dado para o qual este conversor de tipo foi concebido.

(Herdado de TypeConverter)
GetStandardValues(ITypeDescriptorContext)

Devolve uma coleção de valores padrão para o tipo de dado para o qual este conversor de tipo foi concebido quando fornecido com um contexto de formato.

(Herdado de TypeConverter)
GetStandardValuesExclusive()

Devolve se a coleção de valores padrão retornada de GetStandardValues() é uma lista exclusiva.

(Herdado de TypeConverter)
GetStandardValuesExclusive(ITypeDescriptorContext)

Devolve se a coleção de valores padrão retornada de GetStandardValues() é uma lista exclusiva de valores possíveis, usando o contexto especificado.

(Herdado de TypeConverter)
GetStandardValuesSupported()

Devolve se este objeto suporta um conjunto padrão de valores que podem ser escolhidos de uma lista.

(Herdado de TypeConverter)
GetStandardValuesSupported(ITypeDescriptorContext)

Devolve se este objeto suporta um conjunto padrão de valores que podem ser escolhidos de uma lista, usando o contexto especificado.

(Herdado de TypeConverter)
GetType()

Obtém o Type da instância atual.

(Herdado de Object)
IsValid(ITypeDescriptorContext, Object)

Devolve se o objeto de valor dado é válido para este tipo e para o contexto especificado.

(Herdado de TypeConverter)
IsValid(Object)

Devolve se o objeto de valor dado é válido para este tipo.

(Herdado de TypeConverter)
MemberwiseClone()

Cria uma cópia superficial do atual Object.

(Herdado de Object)
SortProperties(PropertyDescriptorCollection, String[])

Ordena um conjunto de propriedades.

(Herdado de TypeConverter)
ToString()

Devolve uma cadeia que representa o objeto atual.

(Herdado de Object)

Aplica-se a

Ver também