Exportar (0) Imprimir
Expandir todo
Este tema aún no ha recibido ninguna valoración - Valorar este tema

InfiniteTimeSpanConverter (Clase)

Realiza conversiones entre una cadena y el valor estándar infinito de TimeSpan.

Espacio de nombres: System.Configuration
Ensamblado: System.Configuration (en system.configuration.dll)

public sealed class InfiniteTimeSpanConverter : ConfigurationConverterBase
public final class InfiniteTimeSpanConverter extends ConfigurationConverterBase
public final class InfiniteTimeSpanConverter extends ConfigurationConverterBase
No aplicable.

Este tipo, como todos los demás tipos de convertidores de configuración, convierte cadenas que se encuentran en el archivo de configuración en propiedades relacionadas con establecimiento inflexible de tipos, y viceversa.

En concreto, la clase InfiniteTimeSpanConverter convierte el valor "infinito" de String asignado a una propiedad de configuración al valor estándar infinito de TimeSpan y a la inversa. El valor de la enumeración MaxValue representa el valor infinito de TimeSpan.

Las propiedades de TimeSpan utilizan este convertidor. Un valor infinito se conserva como cadena "infinita".

En el ejemplo de código siguiente se muestra cómo definir una propiedad de sección personalizada que utilice la clase InfiniteTimeSpanConverter.

Para obtener el ejemplo de código ejemplo completo que implementa la sección personalizada, vea la clase ConfigurationConverterBase.

[ConfigurationProperty("timeDelay", 
    DefaultValue = "infinite")]
[TypeConverter(typeof(InfiniteTimeSpanConverter))]
public TimeSpan TimeDelay
{
    get
    {
        return (TimeSpan)this["timeDelay"];
    }
    set
    {
        this["timeDelay"] = value;
    }
}

En el ejemplo de código siguiente se muestra cómo obtener acceso a la anterior propiedad de sección personalizada.

using System;
using System.IO;
using System.ComponentModel;
using System.Configuration;

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

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

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

                TimeSpan td = 
                    new TimeSpan();

                td =
                    TimeSpan.FromMinutes(
                    DateTime.Now.Minute);

                section.TimeDelay = td;

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

                Console.WriteLine("timeDelay: {0}",
                    section.TimeDelay.ToString());
            }
            catch (System.Exception e)
            {
                Console.WriteLine(e.Message);
            }
        }
    }
}

A continuación se muestra un extracto de configuración que se utiliza en el ejemplo 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"/>
</configuration>
Los miembros estáticos públicos (Shared en Visual Basic) de este tipo son seguros para la ejecución de subprocesos. No se garantiza que los miembros de instancias sean seguros para la ejecución de subprocesos.

Windows 98, Windows 2000 Service Pack 4, Windows CE, Windows Millennium, Windows Mobile para Pocket PC, Windows Mobile para Smartphone, Windows Server 2003, Windows XP Media Center, Windows XP Professional x64, Windows XP SP2, Windows XP Starter

Microsoft .NET Framework 3.0 es compatible con Windows Vista, Microsoft Windows XP SP2 y Windows Server 2003 SP1.

.NET Framework

Compatible con: 3.0, 2.0
¿Te ha resultado útil?
(Caracteres restantes: 1500)
Gracias por sus comentarios

Adiciones de comunidad

AGREGAR
Mostrar:
© 2014 Microsoft. Reservados todos los derechos.