InfiniteTimeSpanConverter 클래스
정의
중요
일부 정보는 릴리스되기 전에 상당 부분 수정될 수 있는 시험판 제품과 관련이 있습니다. Microsoft는 여기에 제공된 정보에 대해 어떠한 명시적이거나 묵시적인 보증도 하지 않습니다.
문자열과 표준 무한 TimeSpan 값 간에 변환을 수행합니다.
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
- 상속
예제
다음 코드 예제를 사용 하는 사용자 지정 섹션 속성을 정의 하는 방법을 보여 줍니다는 InfiniteTimeSpanConverter 클래스입니다.
사용자 지정 섹션을 구현 하는 전체 예제 코드에 대 한 참조를 ConfigurationConverterBase 클래스입니다.
[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
다음 예제 코드에는 이전 섹션에서는 사용자 지정 속성에 액세스 하는 방법을 보여 줍니다.
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
다음은 인용 이전 예제에 사용 된 구성입니다.
<?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>
설명
이 형식에는 다른 모든 구성 변환기 형식의 경우와 같은 관련 된 강력한 형식의 속성에서 구성 파일에 문자열을 변환 합니다.
특히를 InfiniteTimeSpanConverter 변환 합니다 String "infinite" 표준 infinite 구성 속성에 할당 된 값 TimeSpan 및 그 반대의 경우도 마찬가지입니다. 무한 TimeSpan 값은 표현 된 MaxValue 열거형 값입니다.
이 변환기가 사용 됩니다 TimeSpan 속성입니다. 무한 한 값은 "infinite" 문자열로 유지 됩니다.
생성자
InfiniteTimeSpanConverter() |
InfiniteTimeSpanConverter 클래스의 새 인스턴스를 초기화합니다. |
메서드
적용 대상
추가 정보
.NET