PositiveTimeSpanValidator クラス
アセンブリ: System.Configuration (system.configuration.dll 内)


PositiveTimeSpanValidator は、TimeSpan オブジェクトが特定の基準を満たしていることを確認するために使用されます。CanValidate メソッドは、検証されるオブジェクト型が、正しい型に一致しているかどうかを確認します。検証されるオブジェクトは、Validate メソッドのパラメータとして渡されます。検証に合格するには、検証されるオブジェクトが、正の TimeSpan 値である必要があります。

PositiveTimeSpanValidator 型を使用する方法を次のコード例に示します。
Imports System Imports System.Collections.Generic Imports System.Text Imports System.Configuration Imports System.ComponentModel Namespace Samples.AspNet.Configuration ' Implements a custom validator attribute. <AttributeUsage(AttributeTargets.Property)> _ Public NotInheritable Class CustomValidatorAttribute Inherits ConfigurationValidatorAttribute Public Sub New() End Sub 'New Public Sub New(ByVal validator As Type) MyBase.New(validator) End Sub 'New Public Shadows ReadOnly Property _ ValidatorType() As Type Get Return [GetType]() End Get End Property Public Overrides ReadOnly Property ValidatorInstance() As ConfigurationValidatorBase Get ' Create validator. Return New PositiveTimeSpanValidator() End Get End Property End Class ' Implements a custom section class. Public Class SampleSection Inherits ConfigurationSection <ConfigurationProperty("name", DefaultValue:="MyBuildRoutine", IsRequired:=True), _ StringValidator(InvalidCharacters:=" ~!@#$%^&*()[]{}/;'""|\", _ MinLength:=1, MaxLength:=60)> _ Public Property Name() As String Get Return CType(Me("name"), String) End Get Set(ByVal Value As String) Me("name") = Value End Set End Property <ConfigurationProperty("BuildStartTime", IsRequired:=True, _ DefaultValue:="09:00:00")> _ Public Property BuildStartTime() As TimeSpan Get Dim myTSC As TimeSpanConverter = New TimeSpanConverter() Return CType(Me("BuildStartTime"), TimeSpan) End Get Set(ByVal Value As TimeSpan) Me("BuildStartTime") = Value.ToString() End Set End Property <ConfigurationProperty("BuildEndTime", IsRequired:=True, _ DefaultValue:="17:00:00")> _ Public Property BuildEndTime() As TimeSpan Get Dim myTSC As TimeSpanConverter = New TimeSpanConverter() Return CType(Me("BuildEndTime"), TimeSpan) End Get Set(ByVal Value As TimeSpan) Me("BuildEndTime") = Value.ToString() End Set End Property End Class ' Implements the console user interface. Class TestingCustomValidatorAttribute ' Shows how to use the ValidatorInstance method. Public Shared Sub GetCustomValidatorInstance() Dim valBase As ConfigurationValidatorBase Dim customValAttr As CustomValidatorAttribute customValAttr = New CustomValidatorAttribute() Dim sampleSection As SampleSection = ConfigurationManager.GetSection("MyDailyProcess") Dim myTSC As TimeSpanConverter = New TimeSpanConverter() Dim StartTimeSpan As TimeSpan = CType(myTSC.ConvertFromString(SampleSection.BuildStartTime.ToString()), TimeSpan) Dim EndTimeSpan As TimeSpan = CType(myTSC.ConvertFromString(SampleSection.BuildEndTime.ToString()), TimeSpan) Dim resultTimeSpan As TimeSpan = EndTimeSpan - StartTimeSpan Try ' Determine if the Validator can validate ' the type it contains. valBase = customValAttr.ValidatorInstance If valBase.CanValidate(resultTimeSpan.GetType()) Then ' Validate the TimeSpan using a ' custom PositiveTimeSpanValidator. valBase.Validate(resultTimeSpan) End If Catch e As ArgumentException ' Store error message. Dim msg As String = e.Message.ToString() #If DEBUG Then Console.WriteLine("Error: {0}", msg) #End If End Try End Sub ' Create required sections. Shared Sub CreateSection() ' Get the current configuration (file). Dim config As System.Configuration.Configuration = _ ConfigurationManager.OpenExeConfiguration(ConfigurationUserLevel.None) ' Define the sample section. Dim sampleSection As SampleSection ' Create the handler section named MyDailyProcess ' in the <configSections>. Also, create the ' <MyDailyProcess> target section ' in <configuration>. If config.Sections("MyDailyProcess") Is Nothing Then sampleSection = New SampleSection() config.Sections.Add("MyDailyProcess", sampleSection) sampleSection.SectionInformation.ForceSave = True config.Save(ConfigurationSaveMode.Full) End If End Sub Shared Sub DisplaySectionProperties() Dim sampleSection As SampleSection = ConfigurationManager.GetSection("MyDailyProcess") If SampleSection Is Nothing Then Console.WriteLine("Failed to load section.") Else Console.WriteLine("Defaults:") Console.WriteLine(" Name: {0}", SampleSection.Name) Console.WriteLine(" BuildStartTime: {0}", SampleSection.BuildStartTime) Console.WriteLine(" BuildEndTime: {0}", SampleSection.BuildEndTime) End If End Sub Shared Sub Main(ByVal args() As String) Console.WriteLine("[Create a section]") CreateSection() Console.WriteLine("[Display section information]") DisplaySectionProperties() ' Show how to use the ValidatorInstance method. GetCustomValidatorInstance() ' Display and wait. Console.ReadLine() End Sub End Class End Namespace
using System; using System.Collections.Generic; using System.Text; using System.Configuration; using System.ComponentModel; namespace Samples.AspNet { // Implements a custom validator attribute. [AttributeUsage(AttributeTargets.Property)] public sealed class CustomValidatorAttribute : ConfigurationValidatorAttribute { public CustomValidatorAttribute() { } public CustomValidatorAttribute(Type validator) : base(validator) { } new public Type ValidatorType { get { return GetType(); } } public override ConfigurationValidatorBase ValidatorInstance { get { // Create validator. return new PositiveTimeSpanValidator(); } } } // Implements a custom section class. public class SampleSection : ConfigurationSection { [ConfigurationProperty("name", DefaultValue = "MyBuildRoutine" , IsRequired = true)] [StringValidator(InvalidCharacters = " ~!@#$%^&*()[]{}/;'\"|\\" , MinLength = 1, MaxLength = 60)] public string Name { get { return (string)this["name"]; } set { this["name"] = value; } } [ConfigurationProperty("BuildStartTime", IsRequired = true , DefaultValue = "09:00:00")] public TimeSpan BuildStartTime { get { TimeSpanConverter myTSC = new TimeSpanConverter(); return (TimeSpan)this["BuildStartTime"]; } set { this["BuildStartTime"] = value.ToString(); } } [ConfigurationProperty("BuildEndTime", IsRequired = true , DefaultValue = "17:00:00")] public TimeSpan BuildEndTime { get { TimeSpanConverter myTSC = new TimeSpanConverter(); return (TimeSpan)this["BuildEndTime"]; } set { this["BuildEndTime"] = value.ToString(); } } } // Implements the console user interface. class TestingCustomValidatorAttribute { // Shows how to use the ValidatorInstance method. public static void GetCustomValidatorInstance() { ConfigurationValidatorBase valBase; CustomValidatorAttribute customValAttr; customValAttr = new CustomValidatorAttribute(); SampleSection sampleSection = ConfigurationManager.GetSection("MyDailyProcess") as SampleSection; TimeSpanConverter myTSC = new TimeSpanConverter(); TimeSpan StartTimeSpan = (TimeSpan)myTSC.ConvertFromString(sampleSection.BuildStartTime.ToString()); TimeSpan EndTimeSpan = (TimeSpan)myTSC.ConvertFromString(sampleSection.BuildEndTime.ToString()); TimeSpan resultTimeSpan = EndTimeSpan - StartTimeSpan; try { // Determine if the Validator can validate // the type it contains. valBase = customValAttr.ValidatorInstance; if (valBase.CanValidate(resultTimeSpan.GetType())) { // Validate the TimeSpan using a // custom PositiveTimeSpanValidator. valBase.Validate(resultTimeSpan); } } catch (ArgumentException e) { // Store error message. string msg = e.Message.ToString(); #if DEBUG Console.WriteLine("Error: {0}", msg); #endif } } // Create required sections. static void CreateSection() { // Get the current configuration (file). System.Configuration.Configuration config = ConfigurationManager.OpenExeConfiguration( ConfigurationUserLevel.None); // Define the sample section. SampleSection sampleSection; // Create the handler section named MyDailyProcess // in the <configSections>. Also, create the // <MyDailyProcess> target section // in <configuration>. if (config.Sections["MyDailyProcess"] == null) { sampleSection = new SampleSection(); config.Sections.Add("MyDailyProcess", sampleSection); sampleSection.SectionInformation.ForceSave = true; config.Save(ConfigurationSaveMode.Full); } } static void DisplaySectionProperties() { SampleSection sampleSection = ConfigurationManager.GetSection("MyDailyProcess") as SampleSection; if (sampleSection == null) Console.WriteLine("Failed to load section."); else { Console.WriteLine("Defaults:"); Console.WriteLine(" Name: {0}", sampleSection.Name); Console.WriteLine(" BuildStartTime: {0}", sampleSection.BuildStartTime); Console.WriteLine(" BuildEndTime: {0}", sampleSection.BuildEndTime); } } static void Main(string[] args) { Console.WriteLine("[Create a section]"); CreateSection(); Console.WriteLine("[Display section information]"); DisplaySectionProperties(); // Show how to use the ValidatorInstance method. GetCustomValidatorInstance(); // Display and wait. Console.ReadLine(); } } }

System.Configuration.ConfigurationValidatorBase
System.Configuration.PositiveTimeSpanValidator


Windows 98, Windows 2000 SP4, Windows Millennium Edition, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition
開発プラットフォームの中には、.NET Framework によってサポートされていないバージョンがあります。サポートされているバージョンについては、「システム要件」を参照してください。


PositiveTimeSpanValidator メンバ
System.Configuration 名前空間
TimeSpanValidator
ConfigurationValidatorBase クラス
PositiveTimeSpanValidator コンストラクタ
アセンブリ: System.Configuration (system.configuration.dll 内)


PositiveTimeSpanValidator コンストラクタを使用する方法を次のコード例に示します。このコード例は、PositiveTimeSpanValidator クラスのトピックで取り上げているコード例の一部分です。

Windows 98, Windows 2000 SP4, Windows Millennium Edition, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition
開発プラットフォームの中には、.NET Framework によってサポートされていないバージョンがあります。サポートされているバージョンについては、「システム要件」を参照してください。


PositiveTimeSpanValidator メソッド

名前 | 説明 | |
---|---|---|
![]() | CanValidate | オーバーライドされます。 オブジェクト型が検証できるかどうかを確認します。 |
![]() | Equals | オーバーロードされます。 2 つの Object インスタンスが等しいかどうかを判断します。 ( Object から継承されます。) |
![]() | GetHashCode | 特定の型のハッシュ関数として機能します。GetHashCode は、ハッシュ アルゴリズムや、ハッシュ テーブルのようなデータ構造での使用に適しています。 ( Object から継承されます。) |
![]() | GetType | 現在のインスタンスの Type を取得します。 ( Object から継承されます。) |
![]() | ReferenceEquals | 指定した複数の Object インスタンスが同一かどうかを判断します。 ( Object から継承されます。) |
![]() | ToString | 現在の Object を表す String を返します。 ( Object から継承されます。) |
![]() | Validate | オーバーライドされます。 オブジェクトの値が有効かどうかを確認します。 |

名前 | 説明 | |
---|---|---|
![]() | Finalize | Object がガベージ コレクションにより収集される前に、その Object がリソースを解放し、その他のクリーンアップ操作を実行できるようにします。 ( Object から継承されます。) |
![]() | MemberwiseClone | 現在の Object の簡易コピーを作成します。 ( Object から継承されます。) |

関連項目
PositiveTimeSpanValidator クラスSystem.Configuration 名前空間
TimeSpanValidator
ConfigurationValidatorBase クラス
PositiveTimeSpanValidator メンバ
TimeSpan オブジェクトの検証を提供します。このクラスは継承できません。
PositiveTimeSpanValidator データ型で公開されるメンバを以下の表に示します。


名前 | 説明 | |
---|---|---|
![]() | CanValidate | オーバーライドされます。 オブジェクト型が検証できるかどうかを確認します。 |
![]() | Equals | オーバーロードされます。 2 つの Object インスタンスが等しいかどうかを判断します。 (Object から継承されます。) |
![]() | GetHashCode | 特定の型のハッシュ関数として機能します。GetHashCode は、ハッシュ アルゴリズムや、ハッシュ テーブルのようなデータ構造での使用に適しています。 (Object から継承されます。) |
![]() | GetType | 現在のインスタンスの Type を取得します。 (Object から継承されます。) |
![]() | ReferenceEquals | 指定した複数の Object インスタンスが同一かどうかを判断します。 (Object から継承されます。) |
![]() | ToString | 現在の Object を表す String を返します。 (Object から継承されます。) |
![]() | Validate | オーバーライドされます。 オブジェクトの値が有効かどうかを確認します。 |

名前 | 説明 | |
---|---|---|
![]() | Finalize | Object がガベージ コレクションにより収集される前に、その Object がリソースを解放し、その他のクリーンアップ操作を実行できるようにします。 (Object から継承されます。) |
![]() | MemberwiseClone | 現在の Object の簡易コピーを作成します。 (Object から継承されます。) |

関連項目
PositiveTimeSpanValidator クラスSystem.Configuration 名前空間
TimeSpanValidator
ConfigurationValidatorBase クラス
Weblioに収録されているすべての辞書からPositiveTimeSpanValidatorを検索する場合は、下記のリンクをクリックしてください。

- PositiveTimeSpanValidatorのページへのリンク