Condividi tramite


GenericEnumConverter Classe

Definizione

Esegue la conversione da una strina a un tipo di enumerazione e viceversa.

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
Ereditarietà

Esempio

Nell'esempio di codice seguente viene illustrato come accedere a una proprietà di sezione personalizzata che usa il 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

Nell'esempio di codice seguente viene illustrato come definire una proprietà dell'enumeratore personalizzata a cui si accede nell'esempio precedente. Si noti che non è necessario specificare il GenericEnumConverter tipo. Viene richiamato in modo implicito dal 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

L'esempio seguente è un estratto di configurazione usato dall'esempio precedente.

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

Commenti

Questo tipo, come tutti gli altri tipi di convertitore di configurazione, converte le stringhe presenti nel file di configurazione in e dalle proprietà fortemente tipizzate correlate.

In particolare, l'oggetto GenericEnumConverter converte un String valore, assegnato a una proprietà di configurazione, in un Enum valore e viceversa.

Costruttori

GenericEnumConverter(Type)

Inizializza una nuova istanza della classe GenericEnumConverter.

Metodi

CanConvertFrom(ITypeDescriptorContext, Type)

Determina se la conversione è consentita.

(Ereditato da ConfigurationConverterBase)
CanConvertFrom(Type)

Indica se questo convertitore può convertire un oggetto del tipo specificato nel tipo di questo convertitore.

(Ereditato da TypeConverter)
CanConvertTo(ITypeDescriptorContext, Type)

Determina se la conversione è consentita.

(Ereditato da ConfigurationConverterBase)
CanConvertTo(Type)

Indica se questo convertitore può convertire l'oggetto nel tipo specificato.

(Ereditato da TypeConverter)
ConvertFrom(ITypeDescriptorContext, CultureInfo, Object)

Converte un oggetto String in un tipo Enum.

ConvertFrom(Object)

Converte il valore specificato nel tipo di questo convertitore.

(Ereditato da TypeConverter)
ConvertFromInvariantString(ITypeDescriptorContext, String)

Converte la stringa specificata nel tipo di questo convertitore, utilizzando le impostazioni cultura inglesi e il contesto specificato.

(Ereditato da TypeConverter)
ConvertFromInvariantString(String)

Converte la stringa specificata nel tipo di questo convertitore, utilizzando le impostazioni cultura invarianti.

(Ereditato da TypeConverter)
ConvertFromString(ITypeDescriptorContext, CultureInfo, String)

Converte il testo specificato in un oggetto, utilizzando il contesto specificato e le informazioni sulle impostazioni cultura.

(Ereditato da TypeConverter)
ConvertFromString(ITypeDescriptorContext, String)

Converte il testo specificato in un oggetto, utilizzando il contesto specificato.

(Ereditato da TypeConverter)
ConvertFromString(String)

Converte il testo specificato in un oggetto.

(Ereditato da TypeConverter)
ConvertTo(ITypeDescriptorContext, CultureInfo, Object, Type)

Converte un tipo Enum in un valore String.

ConvertTo(Object, Type)

Converte l'oggetto valore specificato nel tipo specificato, utilizzando gli argomenti.

(Ereditato da TypeConverter)
ConvertToInvariantString(ITypeDescriptorContext, Object)

Converte il valore specificato in una rappresentazione in formato stringa indipendente dalle impostazioni cultura, utilizzando il contesto specificato.

(Ereditato da TypeConverter)
ConvertToInvariantString(Object)

Converte il valore specificato in una rappresentazione in formato stringa indipendente dalle impostazioni cultura.

(Ereditato da TypeConverter)
ConvertToString(ITypeDescriptorContext, CultureInfo, Object)

Converte il valore specificato in una rappresentazione in formato stringa, utilizzando il contesto specificato e le informazioni sulle impostazioni cultura.

(Ereditato da TypeConverter)
ConvertToString(ITypeDescriptorContext, Object)

Converte il valore specificato in una rappresentazione in formato stringa, utilizzando il contesto specificato.

(Ereditato da TypeConverter)
ConvertToString(Object)

Converte il valore specificato in una rappresentazione in formato stringa.

(Ereditato da TypeConverter)
CreateInstance(IDictionary)

Ricrea un oggetto Object in base a un set di valori di proprietà dell'oggetto.

(Ereditato da TypeConverter)
CreateInstance(ITypeDescriptorContext, IDictionary)

Crea un'istanza del tipo a cui questo oggetto TypeConverter è associato, usando il contesto specificato, dato un set di valori di proprietà per l'oggetto.

(Ereditato da TypeConverter)
Equals(Object)

Determina se l'oggetto specificato è uguale all'oggetto corrente.

(Ereditato da Object)
GetConvertFromException(Object)

Restituisce un'eccezione da generare quando non è possibile eseguire una conversione.

(Ereditato da TypeConverter)
GetConvertToException(Object, Type)

Restituisce un'eccezione da generare quando non è possibile eseguire una conversione.

(Ereditato da TypeConverter)
GetCreateInstanceSupported()

Restituisce se la modifica di un valore su questo oggetto richiede una chiamata al metodo CreateInstance(IDictionary) per creare un nuovo valore.

(Ereditato da TypeConverter)
GetCreateInstanceSupported(ITypeDescriptorContext)

Restituisce un valore che indica se la modifica di un valore di questo oggetto richiede una chiamata a CreateInstance(IDictionary) per creare un nuovo valore, usando il contesto specificato.

(Ereditato da TypeConverter)
GetHashCode()

Funge da funzione hash predefinita.

(Ereditato da Object)
GetProperties(ITypeDescriptorContext, Object)

Restituisce un insieme di proprietà per il tipo di matrice specificato dal parametro del valore utilizzando il contesto specificato.

(Ereditato da TypeConverter)
GetProperties(ITypeDescriptorContext, Object, Attribute[])

Restituisce una raccolta di proprietà per il tipo di matrice specificato dal parametro del valore usando il contesto e gli attributi specificati.

(Ereditato da TypeConverter)
GetProperties(Object)

Restituisce una raccolta di proprietà per il tipo di matrice specificato dal parametro value.

(Ereditato da TypeConverter)
GetPropertiesSupported()

Indica se questo oggetto supporta le proprietà.

(Ereditato da TypeConverter)
GetPropertiesSupported(ITypeDescriptorContext)

Indica se questo oggetto supporta proprietà, usando il contesto specificato.

(Ereditato da TypeConverter)
GetStandardValues()

Restituisce un insieme di valori standard dal contesto predefinito del tipo di dati per il quale è stato progettato questo convertitore di tipi.

(Ereditato da TypeConverter)
GetStandardValues(ITypeDescriptorContext)

Restituisce una raccolta di valori standard per il tipo di dati per cui è progettato questo convertitore di tipo, quando viene fornito un contesto di formato.

(Ereditato da TypeConverter)
GetStandardValuesExclusive()

Indica se la raccolta di valori standard restituiti dal metodo GetStandardValues() rappresenta un elenco esclusivo.

(Ereditato da TypeConverter)
GetStandardValuesExclusive(ITypeDescriptorContext)

Indica se la raccolta di valori standard restituiti da GetStandardValues() rappresenta un elenco esclusivo di valori possibili utilizzando il contesto specificato.

(Ereditato da TypeConverter)
GetStandardValuesSupported()

Indica se questo oggetto supporta un set standard di valori selezionabili da un elenco.

(Ereditato da TypeConverter)
GetStandardValuesSupported(ITypeDescriptorContext)

Indica se questo oggetto supporta un set standard di valori selezionabili da un elenco utilizzando il contesto specificato.

(Ereditato da TypeConverter)
GetType()

Ottiene l'oggetto Type dell'istanza corrente.

(Ereditato da Object)
IsValid(ITypeDescriptorContext, Object)

Indica se l'oggetto valore specificato è valido per il tipo e per il contesto specificato.

(Ereditato da TypeConverter)
IsValid(Object)

Indica se l'oggetto valore specificato è valido per questo tipo.

(Ereditato da TypeConverter)
MemberwiseClone()

Crea una copia superficiale dell'oggetto Object corrente.

(Ereditato da Object)
SortProperties(PropertyDescriptorCollection, String[])

Ordina un insieme di proprietà.

(Ereditato da TypeConverter)
ToString()

Restituisce una stringa che rappresenta l'oggetto corrente.

(Ereditato da Object)

Si applica a

Vedi anche