Code:
/ 4.0 / 4.0 / untmp / DEVDIV_TFS / Dev10 / Releases / RTMRel / ndp / fx / src / Configuration / System / Configuration / IntegerValidator.cs / 1305376 / IntegerValidator.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 { // // Type validators: Unsealed so users can derive to extend the funcionality without repeating it // ============================================================================================= public class IntegerValidator : 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 int _minValue = int.MinValue; private int _maxValue = int.MaxValue; private int _resolution = 1; public IntegerValidator(int minValue, int maxValue) : this(minValue, maxValue, false, 1) { } public IntegerValidator(int minValue, int maxValue, bool rangeIsExclusive) : this(minValue, maxValue, rangeIsExclusive, 1) { } public IntegerValidator(int minValue, int maxValue, bool rangeIsExclusive, int resolution) { if (resolution <= 0) { throw new ArgumentOutOfRangeException("resolution"); } if (minValue > maxValue) { throw new ArgumentOutOfRangeException("minValue", SR.GetString(SR.Validator_min_greater_than_max)); } _minValue = minValue; _maxValue = maxValue; _resolution = resolution; _flags = rangeIsExclusive ? ValidationFlags.ExclusiveRange : ValidationFlags.None; } public override bool CanValidate(Type type) { return (type == typeof(int)); } public override void Validate(object value) { ValidatorUtils.HelperParamValidation(value, typeof(int)); ValidatorUtils.ValidateScalar((int)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
- SimpleHandlerFactory.cs
- DesignBindingValueUIHandler.cs
- DescendantQuery.cs
- ApplicationServiceHelper.cs
- IisTraceWebEventProvider.cs
- CustomValidator.cs
- Visual3DCollection.cs
- ComponentResourceKeyConverter.cs
- XmlSecureResolver.cs
- EnumMember.cs
- ColorContextHelper.cs
- OracleBFile.cs
- DelegateTypeInfo.cs
- Separator.cs
- CaseInsensitiveOrdinalStringComparer.cs
- InvalidCommandTreeException.cs
- CompiledAction.cs
- CollectionConverter.cs
- SpecularMaterial.cs
- DataGridViewButtonCell.cs
- TemplateXamlTreeBuilder.cs
- DiagnosticsConfiguration.cs
- HttpClientCertificate.cs
- ZipIOBlockManager.cs
- JsonFormatWriterGenerator.cs
- FilterableAttribute.cs
- WindowVisualStateTracker.cs
- Pair.cs
- webclient.cs
- ConfigurationManagerInternalFactory.cs
- Queue.cs
- RelationshipConverter.cs
- DropTarget.cs
- ClientSideProviderDescription.cs
- TypeName.cs
- PeerName.cs
- _LazyAsyncResult.cs
- SmtpReplyReader.cs
- HostedTransportConfigurationBase.cs
- ScaleTransform.cs
- ImageList.cs
- SystemWebExtensionsSectionGroup.cs
- ScrollChrome.cs
- JulianCalendar.cs
- ReferentialConstraint.cs
- TableLayoutColumnStyleCollection.cs
- InkCanvasFeedbackAdorner.cs
- XPathDescendantIterator.cs
- TypeExtension.cs
- Tuple.cs
- HostVisual.cs
- NameValueCollection.cs
- XmlNullResolver.cs
- FilePrompt.cs
- Parallel.cs
- PolicyChain.cs
- BamlLocalizableResourceKey.cs
- EncryptedType.cs
- ByteStream.cs
- WebPartsSection.cs
- Button.cs
- Span.cs
- SetterTriggerConditionValueConverter.cs
- ObjectReaderCompiler.cs
- CmsInterop.cs
- Interlocked.cs
- ParseHttpDate.cs
- FirstMatchCodeGroup.cs
- BinHexEncoder.cs
- SamlSerializer.cs
- UnsafeNativeMethodsCLR.cs
- MonitorWrapper.cs
- SizeIndependentAnimationStorage.cs
- ConnectionConsumerAttribute.cs
- DateTimeFormatInfo.cs
- ValueChangedEventManager.cs
- SqlConnectionFactory.cs
- SequentialOutput.cs
- TypeGeneratedEventArgs.cs
- ToolStripMenuItemCodeDomSerializer.cs
- DrawingAttributeSerializer.cs
- ComPlusInstanceContextInitializer.cs
- QueryOperationResponseOfT.cs
- DefaultValueAttribute.cs
- Pair.cs
- ProjectionCamera.cs
- Button.cs
- RegistryConfigurationProvider.cs
- ResolvedKeyFrameEntry.cs
- NativeRecognizer.cs
- XPathException.cs
- TransportElement.cs
- MetadataPropertyAttribute.cs
- DataGridViewElement.cs
- CLRBindingWorker.cs
- SqlProcedureAttribute.cs
- RpcCryptoContext.cs
- _Win32.cs
- InfoCardTrace.cs
- StreamInfo.cs