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
- ContextDataSource.cs
- FlowDocumentReader.cs
- ActiveDocumentEvent.cs
- PointConverter.cs
- ThreadStaticAttribute.cs
- XmlIlGenerator.cs
- DataServiceException.cs
- SimpleExpression.cs
- InputScopeAttribute.cs
- ExpandableObjectConverter.cs
- DataGridViewComboBoxColumn.cs
- SortFieldComparer.cs
- ErrorCodes.cs
- ObjectListFieldsPage.cs
- ListMarkerLine.cs
- TreeBuilderBamlTranslator.cs
- XmlSchemaImport.cs
- BuilderPropertyEntry.cs
- TerminatorSinks.cs
- NodeLabelEditEvent.cs
- TextAction.cs
- TransformerTypeCollection.cs
- CollectionViewGroup.cs
- TextProviderWrapper.cs
- TransformValueSerializer.cs
- XPathParser.cs
- CompilerScope.Storage.cs
- DeclaredTypeValidator.cs
- XmlValueConverter.cs
- Simplifier.cs
- ContentIterators.cs
- BrowserCapabilitiesCodeGenerator.cs
- DataGridViewRowEventArgs.cs
- GatewayIPAddressInformationCollection.cs
- ViewStateModeByIdAttribute.cs
- DateTimeOffsetConverter.cs
- HtmlElementCollection.cs
- ExpressionBindingCollection.cs
- AcceptorSessionSymmetricMessageSecurityProtocol.cs
- UITypeEditor.cs
- DataSvcMapFileSerializer.cs
- EncodingInfo.cs
- XmlObjectSerializerWriteContextComplexJson.cs
- Int32AnimationBase.cs
- CheckoutException.cs
- ZoneMembershipCondition.cs
- BooleanAnimationBase.cs
- TextEffect.cs
- NullableIntAverageAggregationOperator.cs
- ProfileSection.cs
- LineBreak.cs
- __Error.cs
- LayoutSettings.cs
- PerformanceCounterPermissionEntryCollection.cs
- TemplateNodeContextMenu.cs
- PropertyTabChangedEvent.cs
- SoapHeader.cs
- GeometryHitTestResult.cs
- TrimSurroundingWhitespaceAttribute.cs
- InfoCardAsymmetricCrypto.cs
- XamlSerializerUtil.cs
- AnimationClock.cs
- EdmFunction.cs
- CommonRemoteMemoryBlock.cs
- ToolStripCustomTypeDescriptor.cs
- DataGridPagingPage.cs
- XmlDataLoader.cs
- AccessText.cs
- QilInvokeLateBound.cs
- BitmapFrameEncode.cs
- TaskSchedulerException.cs
- Vector3D.cs
- TreeNodeBinding.cs
- CellParaClient.cs
- QuotedPairReader.cs
- ParserContext.cs
- PersonalizableAttribute.cs
- ServiceBehaviorElement.cs
- EditingContext.cs
- RequestCachingSection.cs
- SelectorAutomationPeer.cs
- ToolStripGrip.cs
- IconEditor.cs
- FormsAuthenticationConfiguration.cs
- Duration.cs
- StateDesigner.CommentLayoutGlyph.cs
- Buffer.cs
- Point4D.cs
- Thumb.cs
- ManipulationStartedEventArgs.cs
- Size.cs
- ImageAnimator.cs
- ControlPaint.cs
- ResXBuildProvider.cs
- StylusTip.cs
- Hash.cs
- StringSource.cs
- EnumUnknown.cs
- WindowsToolbar.cs
- CustomCredentialPolicy.cs