當前位置: 首頁>>代碼示例>>VB.NET>>正文


VB.NET PositiveTimeSpanValidator類代碼示例

本文整理匯總了VB.NET中System.Configuration.PositiveTimeSpanValidator的典型用法代碼示例。如果您正苦於以下問題:VB.NET PositiveTimeSpanValidator類的具體用法?VB.NET PositiveTimeSpanValidator怎麽用?VB.NET PositiveTimeSpanValidator使用的例子?那麽, 這裏精選的類代碼示例或許可以為您提供幫助。


在下文中一共展示了PositiveTimeSpanValidator類的1個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的VB.NET代碼示例。

示例1: New

' 導入命名空間
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

        Public Sub New(ByVal validator As Type)
            MyBase.New(validator)
        End Sub

        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
開發者ID:VB.NET開發者,項目名稱:System.Configuration,代碼行數:157,代碼來源:PositiveTimeSpanValidator


注:本文中的System.Configuration.PositiveTimeSpanValidator類示例由純淨天空整理自Github/MSDocs等開源代碼及文檔管理平台,相關代碼片段篩選自各路編程大神貢獻的開源項目,源碼版權歸原作者所有,傳播和使用請參考對應項目的License;未經允許,請勿轉載。