Code:
/ 4.0 / 4.0 / untmp / DEVDIV_TFS / Dev10 / Releases / RTMRel / ndp / fx / src / Configuration / System / Configuration / TimeSpanValidator.cs / 1305376 / TimeSpanValidator.cs
//------------------------------------------------------------------------------ //// Copyright (c) Microsoft Corporation. All rights reserved. // //----------------------------------------------------------------------------- using System; using System.Collections; using System.IO; using System.Reflection; using System.Security.Permissions; using System.Xml; using System.Collections.Specialized; using System.Globalization; using System.ComponentModel; using System.Security; using System.Text; using System.Text.RegularExpressions; namespace System.Configuration { public class TimeSpanValidator : ConfigurationValidatorBase { private enum ValidationFlags { None = 0x0000, ExclusiveRange = 0x0001, // If set the value must be outside of the range instead of inside } private ValidationFlags _flags = ValidationFlags.None; private TimeSpan _minValue = TimeSpan.MinValue; private TimeSpan _maxValue = TimeSpan.MaxValue; private long _resolution = 0; public TimeSpanValidator(TimeSpan minValue, TimeSpan maxValue) : this(minValue, maxValue, false, 0) { } public TimeSpanValidator(TimeSpan minValue, TimeSpan maxValue, bool rangeIsExclusive) : this(minValue, maxValue, rangeIsExclusive, 0) { } public TimeSpanValidator(TimeSpan minValue, TimeSpan maxValue, bool rangeIsExclusive, long resolutionInSeconds) { if (resolutionInSeconds < 0) { throw new ArgumentOutOfRangeException("resolutionInSeconds"); } if (minValue > maxValue) { throw new ArgumentOutOfRangeException("minValue", SR.GetString(SR.Validator_min_greater_than_max)); } _minValue = minValue; _maxValue = maxValue; _resolution = resolutionInSeconds; _flags = rangeIsExclusive ? ValidationFlags.ExclusiveRange : ValidationFlags.None; } public override bool CanValidate(Type type) { return (type == typeof(TimeSpan)); } public override void Validate(object value) { ValidatorUtils.HelperParamValidation(value, typeof(TimeSpan)); ValidatorUtils.ValidateScalar((TimeSpan)value, _minValue, _maxValue, _resolution, _flags == ValidationFlags.ExclusiveRange); } } } // File provided for Reference Use Only by Microsoft Corporation (c) 2007.
Link Menu
This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- SqlConnection.cs
- Permission.cs
- EnumType.cs
- TypeExtensions.cs
- DBPropSet.cs
- Permission.cs
- TagPrefixInfo.cs
- SourceLineInfo.cs
- SystemIPGlobalStatistics.cs
- VirtualizedContainerService.cs
- PropertyManager.cs
- ObjectStorage.cs
- ToolboxBitmapAttribute.cs
- XmlCharCheckingReader.cs
- ConnectionConsumerAttribute.cs
- Int32Rect.cs
- PermissionSetEnumerator.cs
- DataControlButton.cs
- Pen.cs
- ExecutionContext.cs
- followingquery.cs
- TypeReference.cs
- DesignBindingConverter.cs
- DatatypeImplementation.cs
- SerializableAttribute.cs
- ConnectorSelectionGlyph.cs
- RewritingPass.cs
- RoleGroupCollection.cs
- ActivityDelegate.cs
- OleDbTransaction.cs
- LayoutSettings.cs
- PropertyChangingEventArgs.cs
- TypeListConverter.cs
- XamlWrappingReader.cs
- Membership.cs
- Pts.cs
- CodeSubDirectory.cs
- TrackingMemoryStream.cs
- DefaultSection.cs
- CannotUnloadAppDomainException.cs
- unsafenativemethodsother.cs
- DescendantOverDescendantQuery.cs
- IssuedTokenServiceCredential.cs
- DataGridCell.cs
- AccessKeyManager.cs
- ObjectRef.cs
- OutArgument.cs
- CanonicalizationDriver.cs
- PseudoWebRequest.cs
- XPathSelfQuery.cs
- MobileListItem.cs
- UnsafeNativeMethodsMilCoreApi.cs
- DocumentPageHost.cs
- SettingsPropertyValue.cs
- SqlCommand.cs
- NullExtension.cs
- DataBoundLiteralControl.cs
- CryptoKeySecurity.cs
- FocusTracker.cs
- DrawingContextWalker.cs
- StrokeCollectionConverter.cs
- WebBrowser.cs
- WindowsListViewItemStartMenu.cs
- InputGestureCollection.cs
- XmlSchemaDocumentation.cs
- RegexCompilationInfo.cs
- XmlSchemaType.cs
- CompilationAssemblyInstallComponent.cs
- DetailsViewInsertedEventArgs.cs
- EventLogPermission.cs
- PolyQuadraticBezierSegment.cs
- SelectedDatesCollection.cs
- ValidationHelper.cs
- RoleService.cs
- Int16AnimationBase.cs
- EdmEntityTypeAttribute.cs
- ComponentConverter.cs
- FreeFormDragDropManager.cs
- UserControlBuildProvider.cs
- CollectionViewGroupInternal.cs
- ArgumentException.cs
- SqlCrossApplyToCrossJoin.cs
- BorderGapMaskConverter.cs
- URLIdentityPermission.cs
- Int32CollectionConverter.cs
- DesignerSerializationOptionsAttribute.cs
- SafeNativeMethods.cs
- ProcessingInstructionAction.cs
- CodeObject.cs
- CodeTypeDeclarationCollection.cs
- PersistenceContext.cs
- DataMemberListEditor.cs
- TypeConverterBase.cs
- ScrollData.cs
- EpmContentSerializerBase.cs
- BaseCollection.cs
- XamlGridLengthSerializer.cs
- Native.cs
- oledbconnectionstring.cs
- SessionPageStatePersister.cs