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
- CodeDOMUtility.cs
- OrthographicCamera.cs
- PhoneCall.cs
- PropertyTabAttribute.cs
- VisualTarget.cs
- BitmapEffectGroup.cs
- SQLChars.cs
- TypeSystem.cs
- EntityContainerEmitter.cs
- DataGridColumn.cs
- _IPv6Address.cs
- TextEndOfSegment.cs
- ModelItemDictionaryImpl.cs
- Authorization.cs
- LogEntryHeaderDeserializer.cs
- HijriCalendar.cs
- HMACSHA1.cs
- JsonWriter.cs
- DataGridViewCellFormattingEventArgs.cs
- TransformerInfo.cs
- OrthographicCamera.cs
- StateMachineWorkflowDesigner.cs
- Exceptions.cs
- HttpRequest.cs
- StructuredTypeEmitter.cs
- AuthenticationModuleElement.cs
- XmlValidatingReader.cs
- SelectionPattern.cs
- XmlWrappingWriter.cs
- MessageLoggingElement.cs
- IPipelineRuntime.cs
- ParameterElementCollection.cs
- DataObjectAttribute.cs
- ResourceDisplayNameAttribute.cs
- ReflectionServiceProvider.cs
- ConfigErrorGlyph.cs
- PublisherMembershipCondition.cs
- SiteMapNode.cs
- WebColorConverter.cs
- PersistenceProviderBehavior.cs
- WindowsListBox.cs
- HostedElements.cs
- SymLanguageType.cs
- SslStreamSecurityBindingElement.cs
- ToolStripButton.cs
- AxHost.cs
- Menu.cs
- EntityChangedParams.cs
- DifferencingCollection.cs
- ProfileInfo.cs
- AnimationException.cs
- FamilyTypefaceCollection.cs
- OdbcFactory.cs
- HwndSourceKeyboardInputSite.cs
- WaitHandle.cs
- Vars.cs
- MemberMaps.cs
- DbgUtil.cs
- KeysConverter.cs
- PropertyDescriptorCollection.cs
- Bits.cs
- DecimalAnimationUsingKeyFrames.cs
- ResourceReferenceExpression.cs
- ParseChildrenAsPropertiesAttribute.cs
- DataExchangeServiceBinder.cs
- WindowsGraphicsCacheManager.cs
- OdbcTransaction.cs
- RegistryKey.cs
- NavigatorOutput.cs
- ScrollProperties.cs
- AccessDataSourceView.cs
- LinkedList.cs
- RootProfilePropertySettingsCollection.cs
- EDesignUtil.cs
- TextSelectionHelper.cs
- WizardStepBase.cs
- BevelBitmapEffect.cs
- ExtensionsSection.cs
- XPathNodeList.cs
- FileLoadException.cs
- TreeViewTemplateSelector.cs
- DockProviderWrapper.cs
- TextEditorSelection.cs
- ExtenderControl.cs
- AnnotationMap.cs
- AssemblyCache.cs
- SerializerDescriptor.cs
- CreateUserWizardStep.cs
- EntitySetDataBindingList.cs
- GlobalAllocSafeHandle.cs
- FillBehavior.cs
- TextBox.cs
- BitmapMetadataBlob.cs
- WindowHideOrCloseTracker.cs
- InputProcessorProfiles.cs
- SessionSymmetricMessageSecurityProtocolFactory.cs
- VisualStyleTypesAndProperties.cs
- ShutDownListener.cs
- BindingFormattingDialog.cs
- MailMessageEventArgs.cs