Esta documentación está archivada y no tiene mantenimiento.

TimeSpanMinutesConverter (Clase)

Convierte un intervalo de tiempo expresado en minutos.

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

public class TimeSpanMinutesConverter : ConfigurationConverterBase
public class TimeSpanMinutesConverter extends ConfigurationConverterBase
public class TimeSpanMinutesConverter extends ConfigurationConverterBase
No aplicable.

Este tipo, como todos los otros tipos de convertidor de configuración, convierte cadenas encontradas en el archivo de configuración en las propiedades con establecimiento inflexible de tipos relacionadas, y viceversa.

En particular, TimeSpanMinutesConverter convierte minutos de String, asignados a una propiedad de configuración, en minutos de TimeSpan y viceversa.

TimeSpanMinutesConverter conserva valores de tipo long que representan un número de minutos.

En el ejemplo de código siguiente se muestra cómo se define un tipo TimeSpanMinutesConverter personalizado.

using System;
using System.Collections.Generic;
using System.Text;
using System.Configuration;
using System.Globalization;
using System.ComponentModel;


public sealed class CustomTimeSpanMinutesConverter :
    ConfigurationConverterBase
{
    internal bool ValidateType(object value, 
        Type expected)
    {
        bool result;

        if ((value != null) &&
            (value.GetType() != expected))
            result = false;
        else
            result = true;

        return result;
    }

    public override bool CanConvertTo(
        ITypeDescriptorContext ctx, Type type)
    {
        return (type == typeof(string));
    }

    public override bool CanConvertFrom(
        ITypeDescriptorContext ctx, Type type)
    {
        return (type == typeof(string));
    }

    public override object ConvertTo(
        ITypeDescriptorContext ctx, CultureInfo ci,
        object value, Type type)
    {
        ValidateType(value, typeof(TimeSpan));

        long data = (long)(((TimeSpan)value).TotalMinutes);

        return data.ToString(CultureInfo.InvariantCulture);
    }

    public override object ConvertFrom(
        ITypeDescriptorContext ctx, CultureInfo ci, object data)
    {

        long min = long.Parse((string)data,
            CultureInfo.InvariantCulture);

        return TimeSpan.FromMinutes((double)min);
    }

}

Lo siguiente es una fragmento de la configuración utilizada por el ejemplo anterior.

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

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
Mostrar: