Code:
/ 4.0 / 4.0 / 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. //------------------------------------------------------------------------------ //// 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
- RenderCapability.cs
- TextServicesManager.cs
- TreeViewHitTestInfo.cs
- GeneralTransformCollection.cs
- WriteableBitmap.cs
- DataService.cs
- TCEAdapterGenerator.cs
- HashAlgorithm.cs
- UserControlDesigner.cs
- DataControlLinkButton.cs
- FlowDocumentPage.cs
- Parser.cs
- AllMembershipCondition.cs
- OleDbError.cs
- SHA384CryptoServiceProvider.cs
- GenericUriParser.cs
- DataObject.cs
- DispatcherHooks.cs
- TableLayoutSettings.cs
- RoleExceptions.cs
- WebPartConnectionsEventArgs.cs
- Style.cs
- DecimalConverter.cs
- ConditionCollection.cs
- ControlSerializer.cs
- EditableTreeList.cs
- WindowHideOrCloseTracker.cs
- TextBoxBase.cs
- FormsAuthentication.cs
- MostlySingletonList.cs
- BitmapEffect.cs
- XmlnsCache.cs
- InvalidOleVariantTypeException.cs
- BindingCollection.cs
- DetailsViewUpdatedEventArgs.cs
- BuildProviderAppliesToAttribute.cs
- PeerApplicationLaunchInfo.cs
- ScriptDescriptor.cs
- ProvidePropertyAttribute.cs
- HelpKeywordAttribute.cs
- DurableInstanceProvider.cs
- TableItemProviderWrapper.cs
- AsyncOperationManager.cs
- COM2ExtendedTypeConverter.cs
- Type.cs
- OracleRowUpdatingEventArgs.cs
- DeclarativeCatalogPart.cs
- Calendar.cs
- FrameworkReadOnlyPropertyMetadata.cs
- KeyValueConfigurationCollection.cs
- AdornedElementPlaceholder.cs
- EndpointInfoCollection.cs
- CompiledELinqQueryState.cs
- Vector.cs
- DataServiceProviderWrapper.cs
- EDesignUtil.cs
- UserControlBuildProvider.cs
- WebServiceClientProxyGenerator.cs
- CodeLinePragma.cs
- TextBoxAutomationPeer.cs
- SettingsAttributes.cs
- XmlMtomWriter.cs
- EventLogEntry.cs
- HtmlButton.cs
- DataBoundControl.cs
- WindowsGraphicsCacheManager.cs
- HtmlPanelAdapter.cs
- MultipartContentParser.cs
- CryptographicAttribute.cs
- XmlWriter.cs
- SecurityTokenSerializer.cs
- LambdaCompiler.Expressions.cs
- compensatingcollection.cs
- AlgoModule.cs
- HttpTransportSecurity.cs
- BufferBuilder.cs
- Reference.cs
- MetabaseServerConfig.cs
- ProcessProtocolHandler.cs
- CommandValueSerializer.cs
- MediaContext.cs
- QueryInterceptorAttribute.cs
- TrustManagerPromptUI.cs
- CommandField.cs
- BamlLocalizer.cs
- Package.cs
- IResourceProvider.cs
- SafeNativeMethods.cs
- OrderedParallelQuery.cs
- Int16.cs
- ParseElementCollection.cs
- WebPartCloseVerb.cs
- SafeUserTokenHandle.cs
- InternalConfigRoot.cs
- Activity.cs
- DateTimeUtil.cs
- DelegateBodyWriter.cs
- ObjectFullSpanRewriter.cs
- StorageMappingItemLoader.cs
- WebBrowserNavigatingEventHandler.cs