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
- TextLineBreak.cs
- TraceUtility.cs
- HwndSourceParameters.cs
- PriorityBinding.cs
- BoundConstants.cs
- _CookieModule.cs
- UpWmlMobileTextWriter.cs
- WebPartTransformerAttribute.cs
- Selection.cs
- TypeEnumerableViewSchema.cs
- DeclarativeConditionsCollection.cs
- ToolStripScrollButton.cs
- ModelPropertyCollectionImpl.cs
- PathFigureCollectionValueSerializer.cs
- BackgroundFormatInfo.cs
- XmlAttributes.cs
- MessagingDescriptionAttribute.cs
- FrameworkContentElement.cs
- InstanceDataCollection.cs
- FacetValues.cs
- CustomLineCap.cs
- EntityDataSourceValidationException.cs
- Socket.cs
- Shape.cs
- _LazyAsyncResult.cs
- PageCatalogPartDesigner.cs
- Perspective.cs
- CompiledQuery.cs
- _TLSstream.cs
- UrlPath.cs
- DataServiceRequestException.cs
- Bits.cs
- BidPrivateBase.cs
- ContainerSelectorGlyph.cs
- FilterQuery.cs
- ReachDocumentSequenceSerializerAsync.cs
- MessageEventSubscriptionService.cs
- CapacityStreamGeometryContext.cs
- LogEntryHeaderDeserializer.cs
- AddressUtility.cs
- _KerberosClient.cs
- PersonalizablePropertyEntry.cs
- AttachedAnnotation.cs
- ParameterCollection.cs
- FixedSOMTableRow.cs
- TextModifierScope.cs
- DesignTimeParseData.cs
- TextEditorContextMenu.cs
- StringPropertyBuilder.cs
- GroupByQueryOperator.cs
- AutoResetEvent.cs
- CacheDict.cs
- LayoutEngine.cs
- SessionPageStateSection.cs
- ClonableStack.cs
- PropertiesTab.cs
- OrderedDictionary.cs
- MultiSelectRootGridEntry.cs
- RowBinding.cs
- AppDomainAttributes.cs
- PointUtil.cs
- EditingCoordinator.cs
- HashSet.cs
- RowsCopiedEventArgs.cs
- XmlLanguageConverter.cs
- LineMetrics.cs
- TakeQueryOptionExpression.cs
- HtmlInputHidden.cs
- SignalGate.cs
- ByteKeyFrameCollection.cs
- WrappedIUnknown.cs
- EventProviderWriter.cs
- ClientUrlResolverWrapper.cs
- httpapplicationstate.cs
- PermissionSetTriple.cs
- ApplicationDirectoryMembershipCondition.cs
- PlatformNotSupportedException.cs
- HostedNamedPipeTransportManager.cs
- CryptoSession.cs
- CDSCollectionETWBCLProvider.cs
- Select.cs
- XmlSchemaComplexContentRestriction.cs
- DotAtomReader.cs
- PointKeyFrameCollection.cs
- diagnosticsswitches.cs
- WebPartConnectionsCancelVerb.cs
- RowUpdatedEventArgs.cs
- BatchServiceHost.cs
- BaseServiceProvider.cs
- ColumnMapVisitor.cs
- KeyTimeConverter.cs
- LicenseManager.cs
- CodeNamespace.cs
- NamedElement.cs
- Binding.cs
- Soap.cs
- Pair.cs
- MD5CryptoServiceProvider.cs
- ParserContext.cs
- WebPartTransformerCollection.cs