Code:
/ Dotnetfx_Vista_SP2 / Dotnetfx_Vista_SP2 / 8.0.50727.4016 / DEVDIV / depot / DevDiv / releases / whidbey / NetFxQFE / ndp / fx / src / Configuration / System / Configuration / IntegerValidator.cs / 1 / 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
- Permission.cs
- CodeMethodReturnStatement.cs
- HttpWebRequestElement.cs
- DispatchWrapper.cs
- WSSecurityJan2004.cs
- ListView.cs
- BitSet.cs
- UnsafeNativeMethods.cs
- RelationshipSet.cs
- RouteParameter.cs
- FlowPanelDesigner.cs
- SqlCacheDependencyDatabase.cs
- shaperfactory.cs
- ConnectionPoint.cs
- ClientConfigurationSystem.cs
- RegistryPermission.cs
- ListControl.cs
- SiteMapDataSourceView.cs
- _ChunkParse.cs
- PublisherMembershipCondition.cs
- Adorner.cs
- SelectionPatternIdentifiers.cs
- HelpProvider.cs
- OleServicesContext.cs
- MachineKeyConverter.cs
- ListBoxChrome.cs
- AtlasWeb.Designer.cs
- Stroke.cs
- OverflowException.cs
- TemplateField.cs
- ToolStripSplitStackLayout.cs
- CallSiteOps.cs
- WindowsUserNameSecurityTokenAuthenticator.cs
- _OverlappedAsyncResult.cs
- ArglessEventHandlerProxy.cs
- PrtTicket_Base.cs
- TraceUtility.cs
- TableLayoutStyle.cs
- BaseDataBoundControl.cs
- TextContainerChangedEventArgs.cs
- GridPattern.cs
- BuildProvider.cs
- XmlQueryType.cs
- LockedAssemblyCache.cs
- HttpValueCollection.cs
- PermissionSetTriple.cs
- QueryAccessibilityHelpEvent.cs
- KeyedCollection.cs
- StrongNamePublicKeyBlob.cs
- KerberosSecurityTokenProvider.cs
- SqlTopReducer.cs
- DelegatingTypeDescriptionProvider.cs
- GridViewEditEventArgs.cs
- BrowserDefinition.cs
- UpdateExpressionVisitor.cs
- RoleServiceManager.cs
- ImageButton.cs
- URL.cs
- SqlDataRecord.cs
- MatchingStyle.cs
- WebHttpSecurityModeHelper.cs
- ToolStrip.cs
- ManifestBasedResourceGroveler.cs
- PerformanceCounter.cs
- cache.cs
- RawTextInputReport.cs
- ClientBuildManagerTypeDescriptionProviderBridge.cs
- ViewStateException.cs
- ModifiableIteratorCollection.cs
- TemplatedWizardStep.cs
- LogicalChannel.cs
- AsyncPostBackErrorEventArgs.cs
- SettingsPropertyValue.cs
- PseudoWebRequest.cs
- PenLineCapValidation.cs
- ExceptionUtil.cs
- Queue.cs
- GridViewSortEventArgs.cs
- PassportPrincipal.cs
- BufferBuilder.cs
- MetadataUtilsSmi.cs
- columnmapfactory.cs
- TraceSource.cs
- DetailsViewPagerRow.cs
- AsyncPostBackErrorEventArgs.cs
- CursorConverter.cs
- XmlDocument.cs
- TableRow.cs
- DragStartedEventArgs.cs
- XmlArrayItemAttributes.cs
- WebCategoryAttribute.cs
- ExplicitDiscriminatorMap.cs
- ThreadTrace.cs
- WebContext.cs
- DescendentsWalkerBase.cs
- CodeAttachEventStatement.cs
- GradientSpreadMethodValidation.cs
- TreeViewDataItemAutomationPeer.cs
- SubtreeProcessor.cs
- DataControlPagerLinkButton.cs