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
- XmlSubtreeReader.cs
- HtmlInputSubmit.cs
- ContextDataSource.cs
- Internal.cs
- PageRequestManager.cs
- ThrowHelper.cs
- TdsValueSetter.cs
- ExternalDataExchangeService.cs
- XPathDocumentIterator.cs
- AppliedDeviceFiltersEditor.cs
- NavigationHelper.cs
- Section.cs
- HttpCookie.cs
- WindowsListViewGroup.cs
- ExpandedWrapper.cs
- GC.cs
- ComPlusContractBehavior.cs
- TypeValidationEventArgs.cs
- Sequence.cs
- ClientSession.cs
- TreeNodeEventArgs.cs
- CodeVariableReferenceExpression.cs
- TreeNode.cs
- XsdSchemaFileEditor.cs
- DBDataPermission.cs
- ActiveDesignSurfaceEvent.cs
- DropShadowEffect.cs
- XmlTextReaderImpl.cs
- SqlTransaction.cs
- ControlAdapter.cs
- backend.cs
- SqlSelectStatement.cs
- LedgerEntry.cs
- RelatedView.cs
- ProfileInfo.cs
- BlobPersonalizationState.cs
- RegionData.cs
- SqlConnectionStringBuilder.cs
- DBBindings.cs
- Utils.cs
- EngineSiteSapi.cs
- HtmlHistory.cs
- DataGridTable.cs
- CompilationUtil.cs
- EditorZoneDesigner.cs
- CompensatableTransactionScopeActivity.cs
- Cursors.cs
- DetailsViewRow.cs
- Icon.cs
- ListViewSortEventArgs.cs
- StringComparer.cs
- HandleCollector.cs
- EndpointIdentityExtension.cs
- DockAndAnchorLayout.cs
- DrawingBrush.cs
- DataGridViewAutoSizeColumnModeEventArgs.cs
- GeometryCombineModeValidation.cs
- BitmapEffectInputConnector.cs
- DataPagerField.cs
- ActivityTypeCodeDomSerializer.cs
- TextMetrics.cs
- FileDetails.cs
- UnsafePeerToPeerMethods.cs
- FaultCode.cs
- PbrsForward.cs
- BaseDataBoundControlDesigner.cs
- TransformGroup.cs
- _DisconnectOverlappedAsyncResult.cs
- GlyphRunDrawing.cs
- Utils.cs
- Transform.cs
- DataGridViewRowHeightInfoNeededEventArgs.cs
- IssuedTokenClientElement.cs
- UncommonField.cs
- QueryPageSettingsEventArgs.cs
- MetadataItemEmitter.cs
- DBCSCodePageEncoding.cs
- SizeConverter.cs
- BoolExpression.cs
- TextEffect.cs
- PasswordDeriveBytes.cs
- StandardBindingOptionalReliableSessionElement.cs
- Helper.cs
- PolicyLevel.cs
- ComponentRenameEvent.cs
- ShaderEffect.cs
- GroupItemAutomationPeer.cs
- OleDbPermission.cs
- WebServiceHandlerFactory.cs
- ClientSettingsStore.cs
- ColorConvertedBitmap.cs
- SystemUdpStatistics.cs
- unsafenativemethodstextservices.cs
- RenderData.cs
- XappLauncher.cs
- OptimizedTemplateContentHelper.cs
- HybridCollection.cs
- Symbol.cs
- AsyncOperationManager.cs
- ExclusiveCanonicalizationTransform.cs