Język

InfiniteTimeSpanConverter Klasa

Definicja

Konwertuje między ciągiem a standardową nieskończoną TimeSpan wartością.

public ref class InfiniteTimeSpanConverter sealed : System::Configuration::ConfigurationConverterBase
public sealed class InfiniteTimeSpanConverter : System.Configuration.ConfigurationConverterBase
type InfiniteTimeSpanConverter = class
    inherit ConfigurationConverterBase
Public NotInheritable Class InfiniteTimeSpanConverter
Inherits ConfigurationConverterBase
Dziedziczenie
InfiniteTimeSpanConverter

Przykłady

W poniższym przykładzie kodu pokazano, jak zdefiniować niestandardową właściwość sekcji, która używa InfiniteTimeSpanConverter klasy .

Pełny przykładowy kod implementujący sekcję niestandardową można znaleźć w ConfigurationConverterBase klasie .

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

<ConfigurationProperty("timeDelay", _
DefaultValue:="infinite"), _
TypeConverter(GetType(InfiniteTimeSpanConverter))> _
Public Property TimeDelay() As TimeSpan
    Get
        Return CType(Me("timeDelay"), TimeSpan)
    End Get
    Set(ByVal value As TimeSpan)
        Me("timeDelay") = Value
    End Set
End Property

Poniższy przykładowy kod pokazuje, jak uzyskać dostęp do poprzedniej właściwości sekcji niestandardowej.

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);
            }
        }
    }
}
Imports System.IO
Imports System.ComponentModel
Imports System.Configuration


NotInheritable Public Class UsingInfiniteTimeSpanConverter
    
    Public Shared Sub GetTimeDelay() 
        Try
            Dim section As CustomSection = _
            ConfigurationManager.GetSection( _
            "CustomSection")
            Console.WriteLine("timeDelay: {0}", _
            section.TimeDelay.ToString())
        Catch e As System.Exception
            Console.WriteLine(e.Message)
        End Try
    
    End Sub
    
    
    Public Shared Sub SetTimeDelay() 
        Try
            Dim config _
            As System.Configuration.Configuration = _
            ConfigurationManager.OpenExeConfiguration( _
            ConfigurationUserLevel.None)
            
            Dim section As CustomSection = _
            config.Sections.Get("CustomSection")
            
            Dim td As 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 e As System.Exception
            Console.WriteLine(e.Message)
        End Try
    
    End Sub
End Class

Poniżej przedstawiono fragment konfiguracji używany w poprzednim przykładzie.

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

Uwagi

Ten typ, podobnie jak wszystkie inne typy konwerterów konfiguracji, konwertuje ciągi znalezione w pliku konfiguracji na i z powiązanych silnie typiowanych właściwości.

W szczególności InfiniteTimeSpanConverter konwertuje String wartość "nieskończoną" przypisaną do właściwości konfiguracji na standardowy nieskończony TimeSpan i odwrotnie. Wartość nieskończona TimeSpan jest reprezentowana MaxValue przez wartość wyliczenia.

Ten konwerter jest używany z właściwościami TimeSpan . Nieskończona wartość jest utrwalana jako ciąg "nieskończony".

Konstruktory

Nazwa Opis
InfiniteTimeSpanConverter()

Inicjuje nowe wystąpienie klasy InfiniteTimeSpanConverter.

Metody

Nazwa Opis
CanConvertFrom(ITypeDescriptorContext, Type)

Określa, czy konwersja jest dozwolona.

(Odziedziczone po ConfigurationConverterBase)
CanConvertFrom(Type)

Zwraca, czy ten konwerter może przekonwertować obiekt danego typu na typ tego konwertera.

(Odziedziczone po TypeConverter)
CanConvertTo(ITypeDescriptorContext, Type)

Określa, czy konwersja jest dozwolona.

(Odziedziczone po ConfigurationConverterBase)
CanConvertTo(Type)

Zwraca, czy ten konwerter może przekonwertować obiekt na określony typ.

(Odziedziczone po TypeConverter)
ConvertFrom(ITypeDescriptorContext, CultureInfo, Object)

Konwertuje element na String .TimeSpan

ConvertFrom(Object)

Konwertuje daną wartość na typ tego konwertera.

(Odziedziczone po TypeConverter)
ConvertFromInvariantString(ITypeDescriptorContext, String)

Konwertuje dany ciąg na typ tego konwertera przy użyciu niezmiennej kultury i określonego kontekstu.

(Odziedziczone po TypeConverter)
ConvertFromInvariantString(String)

Konwertuje dany ciąg na typ tego konwertera przy użyciu niezmiennej kultury.

(Odziedziczone po TypeConverter)
ConvertFromString(ITypeDescriptorContext, CultureInfo, String)

Konwertuje dany tekst na obiekt przy użyciu określonego kontekstu i informacji o kulturze.

(Odziedziczone po TypeConverter)
ConvertFromString(ITypeDescriptorContext, String)

Konwertuje dany tekst na obiekt przy użyciu określonego kontekstu.

(Odziedziczone po TypeConverter)
ConvertFromString(String)

Konwertuje określony tekst na obiekt.

(Odziedziczone po TypeConverter)
ConvertTo(ITypeDescriptorContext, CultureInfo, Object, Type)

Konwertuje element na TimeSpan .String

ConvertTo(Object, Type)

Konwertuje dany obiekt wartości na określony typ przy użyciu argumentów.

(Odziedziczone po TypeConverter)
ConvertToInvariantString(ITypeDescriptorContext, Object)

Konwertuje określoną wartość na niezmienną reprezentację ciągu kultury przy użyciu określonego kontekstu.

(Odziedziczone po TypeConverter)
ConvertToInvariantString(Object)

Konwertuje określoną wartość na niezmienną reprezentację ciągu kultury.

(Odziedziczone po TypeConverter)
ConvertToString(ITypeDescriptorContext, CultureInfo, Object)

Konwertuje daną wartość na reprezentację ciągu przy użyciu określonego kontekstu i informacji o kulturze.

(Odziedziczone po TypeConverter)
ConvertToString(ITypeDescriptorContext, Object)

Konwertuje daną wartość na reprezentację ciągu przy użyciu danego kontekstu.

(Odziedziczone po TypeConverter)
ConvertToString(Object)

Konwertuje określoną wartość na reprezentację ciągu.

(Odziedziczone po TypeConverter)
CreateInstance(IDictionary)

Ponownie tworzy Object, biorąc pod uwagę zestaw wartości właściwości dla obiektu.

(Odziedziczone po TypeConverter)
CreateInstance(ITypeDescriptorContext, IDictionary)

Tworzy wystąpienie typu skojarzonego z tym TypeConverter przy użyciu określonego kontekstu, biorąc pod uwagę zestaw wartości właściwości dla obiektu.

(Odziedziczone po TypeConverter)
Equals(Object)

Określa, czy określony obiekt jest równy bieżącemu obiektowi.

(Odziedziczone po Object)
GetConvertFromException(Object)

Zwraca wyjątek zgłaszany, gdy nie można wykonać konwersji.

(Odziedziczone po TypeConverter)
GetConvertToException(Object, Type)

Zwraca wyjątek zgłaszany, gdy nie można wykonać konwersji.

(Odziedziczone po TypeConverter)
GetCreateInstanceSupported()

Zwraca, czy zmiana wartości na tym obiekcie wymaga wywołania metody CreateInstance(IDictionary) w celu utworzenia nowej wartości.

(Odziedziczone po TypeConverter)
GetCreateInstanceSupported(ITypeDescriptorContext)

Zwraca, czy zmiana wartości na tym obiekcie wymaga wywołania , aby CreateInstance(IDictionary) utworzyć nową wartość przy użyciu określonego kontekstu.

(Odziedziczone po TypeConverter)
GetHashCode()

Służy jako domyślna funkcja skrótu.

(Odziedziczone po Object)
GetProperties(ITypeDescriptorContext, Object, Attribute[])

Zwraca kolekcję właściwości dla typu tablicy określonej przez parametr value przy użyciu określonego kontekstu i atrybutów.

(Odziedziczone po TypeConverter)
GetProperties(ITypeDescriptorContext, Object)

Zwraca kolekcję właściwości typu tablicy określonej przez parametr value przy użyciu określonego kontekstu.

(Odziedziczone po TypeConverter)
GetProperties(Object)

Zwraca kolekcję właściwości dla typu tablicy określonej przez parametr value.

(Odziedziczone po TypeConverter)
GetPropertiesSupported()

Zwraca, czy ten obiekt obsługuje właściwości.

(Odziedziczone po TypeConverter)
GetPropertiesSupported(ITypeDescriptorContext)

Zwraca, czy ten obiekt obsługuje właściwości przy użyciu określonego kontekstu.

(Odziedziczone po TypeConverter)
GetStandardValues()

Zwraca kolekcję wartości standardowych z kontekstu domyślnego dla typu danych, dla których jest przeznaczony ten konwerter typów.

(Odziedziczone po TypeConverter)
GetStandardValues(ITypeDescriptorContext)

Zwraca kolekcję wartości standardowych dla typu danych, dla których ten konwerter typów jest przeznaczony w przypadku, gdy jest dostarczany z kontekstem formatu.

(Odziedziczone po TypeConverter)
GetStandardValuesExclusive()

Zwraca, czy kolekcja wartości standardowych zwracanych z GetStandardValues() jest listą wyłączną.

(Odziedziczone po TypeConverter)
GetStandardValuesExclusive(ITypeDescriptorContext)

Zwraca, czy kolekcja wartości standardowych zwracanych z GetStandardValues() jest wyłączną listą możliwych wartości przy użyciu określonego kontekstu.

(Odziedziczone po TypeConverter)
GetStandardValuesSupported()

Zwraca, czy ten obiekt obsługuje standardowy zestaw wartości, które można wybrać z listy.

(Odziedziczone po TypeConverter)
GetStandardValuesSupported(ITypeDescriptorContext)

Zwraca, czy ten obiekt obsługuje standardowy zestaw wartości, które można wybrać z listy przy użyciu określonego kontekstu.

(Odziedziczone po TypeConverter)
GetType()

Pobiera Type bieżącego wystąpienia.

(Odziedziczone po Object)
IsValid(ITypeDescriptorContext, Object)

Zwraca, czy dany obiekt wartości jest prawidłowy dla tego typu i dla określonego kontekstu.

(Odziedziczone po TypeConverter)
IsValid(Object)

Zwraca, czy dany obiekt wartości jest prawidłowy dla tego typu.

(Odziedziczone po TypeConverter)
MemberwiseClone()

Tworzy płytkią kopię bieżącego Object.

(Odziedziczone po Object)
SortProperties(PropertyDescriptorCollection, String[])

Sortuje kolekcję właściwości.

(Odziedziczone po TypeConverter)
ToString()

Zwraca ciąg reprezentujący bieżący obiekt.

(Odziedziczone po Object)

Dotyczy

Zobacz też