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
- ConfigXmlElement.cs
- MetadataUtilsSmi.cs
- RegexNode.cs
- ListView.cs
- EncoderExceptionFallback.cs
- ServiceBuildProvider.cs
- InvalidPipelineStoreException.cs
- XmlBoundElement.cs
- GenericTypeParameterBuilder.cs
- XmlCustomFormatter.cs
- TextBoxBase.cs
- WindowsAuthenticationEventArgs.cs
- PrintDialog.cs
- GridLength.cs
- OleDbConnectionFactory.cs
- CustomLineCap.cs
- RestClientProxyHandler.cs
- DataSysAttribute.cs
- _UriSyntax.cs
- ButtonStandardAdapter.cs
- SQLCharsStorage.cs
- PathFigureCollection.cs
- TypedTableBase.cs
- QilStrConcat.cs
- BitmapInitialize.cs
- IndicCharClassifier.cs
- ColorConverter.cs
- TerminatorSinks.cs
- ChoiceConverter.cs
- COM2ExtendedBrowsingHandler.cs
- Suspend.cs
- DataGridToolTip.cs
- StorageEntitySetMapping.cs
- GridViewSortEventArgs.cs
- NetMsmqBinding.cs
- ArraySegment.cs
- LOSFormatter.cs
- ResourceAssociationTypeEnd.cs
- NullableDecimalMinMaxAggregationOperator.cs
- TrimSurroundingWhitespaceAttribute.cs
- OnOperation.cs
- MaterialCollection.cs
- ControlBuilderAttribute.cs
- MethodMessage.cs
- ThreadPool.cs
- UIntPtr.cs
- EntityException.cs
- TextHintingModeValidation.cs
- DetailsViewDeleteEventArgs.cs
- Section.cs
- ContentValidator.cs
- AsyncPostBackErrorEventArgs.cs
- DrawingCollection.cs
- ObjectStateEntryBaseUpdatableDataRecord.cs
- DrawingContextWalker.cs
- DisplayMemberTemplateSelector.cs
- Popup.cs
- PageHandlerFactory.cs
- OdbcStatementHandle.cs
- HwndProxyElementProvider.cs
- ValidatorCompatibilityHelper.cs
- SecUtil.cs
- IndentedWriter.cs
- TypedReference.cs
- SHA1Cng.cs
- StaticResourceExtension.cs
- BrowserCapabilitiesFactoryBase.cs
- XmlSchemaAnyAttribute.cs
- ManipulationCompletedEventArgs.cs
- TimeEnumHelper.cs
- SystemIPInterfaceStatistics.cs
- Util.cs
- SimpleWorkerRequest.cs
- ToolboxItem.cs
- DaylightTime.cs
- SymDocumentType.cs
- ListParaClient.cs
- PreviousTrackingServiceAttribute.cs
- LoggedException.cs
- KeyedQueue.cs
- PolicyReader.cs
- Object.cs
- DocumentReference.cs
- FixedSOMTextRun.cs
- DesignTimeParseData.cs
- WebRequestModuleElement.cs
- CompilerInfo.cs
- VerticalAlignConverter.cs
- DataControlCommands.cs
- BaseParaClient.cs
- JapaneseLunisolarCalendar.cs
- PersistChildrenAttribute.cs
- CompilationSection.cs
- RNGCryptoServiceProvider.cs
- TableColumn.cs
- ModifyActivitiesPropertyDescriptor.cs
- DebugView.cs
- XmlObjectSerializerReadContextComplex.cs
- _NativeSSPI.cs
- WCFModelStrings.Designer.cs