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
- COM2PictureConverter.cs
- SuppressMessageAttribute.cs
- HttpStaticObjectsCollectionBase.cs
- DbConnectionPool.cs
- DefaultTextStoreTextComposition.cs
- XdrBuilder.cs
- ProviderSettingsCollection.cs
- DesignSurfaceServiceContainer.cs
- TransformerConfigurationWizardBase.cs
- HandlerMappingMemo.cs
- PageThemeCodeDomTreeGenerator.cs
- DataViewManager.cs
- XslTransformFileEditor.cs
- TreeViewImageKeyConverter.cs
- WebPartZoneBase.cs
- MsmqHostedTransportManager.cs
- HttpProfileBase.cs
- DocumentViewerBaseAutomationPeer.cs
- TextContainerHelper.cs
- Variable.cs
- SerializerWriterEventHandlers.cs
- WebPartTracker.cs
- SmiEventSink_DeferedProcessing.cs
- _Semaphore.cs
- TargetControlTypeCache.cs
- SmiContextFactory.cs
- EventData.cs
- ListViewItem.cs
- ListView.cs
- Expression.DebuggerProxy.cs
- FileCodeGroup.cs
- controlskin.cs
- BCryptHashAlgorithm.cs
- MethodExpr.cs
- DynamicScriptObject.cs
- Propagator.ExtentPlaceholderCreator.cs
- DataGridViewDataErrorEventArgs.cs
- SortFieldComparer.cs
- TypedMessageConverter.cs
- RawTextInputReport.cs
- CompilationSection.cs
- MetadataCacheItem.cs
- DataSourceControlBuilder.cs
- AesCryptoServiceProvider.cs
- ResXResourceSet.cs
- XmlWriter.cs
- QilSortKey.cs
- MultiView.cs
- ReliableOutputSessionChannel.cs
- PropertyEmitter.cs
- ControlType.cs
- AssociationType.cs
- DataGridItemEventArgs.cs
- PrimitiveXmlSerializers.cs
- DataGridViewImageColumn.cs
- ProcessingInstructionAction.cs
- Label.cs
- BinaryCommonClasses.cs
- ProtectedProviderSettings.cs
- PolicyException.cs
- IconBitmapDecoder.cs
- ShaderEffect.cs
- NavigateUrlConverter.cs
- RegexReplacement.cs
- AssertUtility.cs
- ColumnMapCopier.cs
- SchemaTypeEmitter.cs
- SqlNodeTypeOperators.cs
- arc.cs
- HiddenField.cs
- BaseConfigurationRecord.cs
- HtmlTableCell.cs
- MatrixValueSerializer.cs
- DataPagerFieldCollection.cs
- SortedSetDebugView.cs
- NavigationEventArgs.cs
- _NestedMultipleAsyncResult.cs
- BaseValidator.cs
- PersistenceTypeAttribute.cs
- OracleMonthSpan.cs
- HttpListenerResponse.cs
- DataGridViewTextBoxEditingControl.cs
- OleDbRowUpdatingEvent.cs
- StatusCommandUI.cs
- KeyedHashAlgorithm.cs
- BorderSidesEditor.cs
- OrderByQueryOptionExpression.cs
- EntityDataSourceValidationException.cs
- Adorner.cs
- Path.cs
- BlurBitmapEffect.cs
- Binding.cs
- JsonEncodingStreamWrapper.cs
- LongValidatorAttribute.cs
- AnimationClockResource.cs
- ReceiveActivityValidator.cs
- DbDataReader.cs
- CodeObject.cs
- ObjectCache.cs
- RouteTable.cs