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
- ContainsSearchOperator.cs
- XmlAttributeOverrides.cs
- Select.cs
- TraceListener.cs
- Rotation3DAnimationBase.cs
- Delegate.cs
- ShaderRenderModeValidation.cs
- EdmType.cs
- ImageKeyConverter.cs
- _NetworkingPerfCounters.cs
- ProtocolViolationException.cs
- TableColumn.cs
- DbConnectionClosed.cs
- HtmlShimManager.cs
- DropShadowEffect.cs
- SecurityTokenValidationException.cs
- RecordManager.cs
- NestedContainer.cs
- EastAsianLunisolarCalendar.cs
- ImageAutomationPeer.cs
- StorageConditionPropertyMapping.cs
- ClientUtils.cs
- ObjectListItemCollection.cs
- ExpressionBindings.cs
- validationstate.cs
- PageContentCollection.cs
- ApplicationManager.cs
- MdImport.cs
- OutOfProcStateClientManager.cs
- MouseCaptureWithinProperty.cs
- FormsAuthenticationTicket.cs
- LocalizationComments.cs
- CompilerState.cs
- XPathException.cs
- GridViewAutomationPeer.cs
- ButtonBase.cs
- RegexGroupCollection.cs
- DrawingGroupDrawingContext.cs
- Object.cs
- CodeTypeDelegate.cs
- PageAsyncTaskManager.cs
- ExpressionBindings.cs
- UInt64Storage.cs
- CheckBoxPopupAdapter.cs
- XmlDocumentSerializer.cs
- CodeAttributeArgumentCollection.cs
- Error.cs
- WindowsButton.cs
- SafeArrayTypeMismatchException.cs
- ListSurrogate.cs
- HtmlGenericControl.cs
- Enum.cs
- DocumentGridPage.cs
- FormatStringEditor.cs
- SqlDataRecord.cs
- GuidelineSet.cs
- DescendantOverDescendantQuery.cs
- AesCryptoServiceProvider.cs
- EventLogPermission.cs
- XmlCustomFormatter.cs
- DeviceContext.cs
- GridViewDeleteEventArgs.cs
- Lease.cs
- validationstate.cs
- XmlSchemaInfo.cs
- Span.cs
- IncrementalReadDecoders.cs
- SqlMetaData.cs
- CollaborationHelperFunctions.cs
- IImplicitResourceProvider.cs
- TimeSpanConverter.cs
- StateMachineAction.cs
- XmlMapping.cs
- FixedSOMFixedBlock.cs
- FlowDocumentFormatter.cs
- PriorityItem.cs
- SecurityBindingElement.cs
- AutoResetEvent.cs
- URIFormatException.cs
- ProgramPublisher.cs
- precedingsibling.cs
- LongTypeConverter.cs
- Font.cs
- OleDbRowUpdatingEvent.cs
- PersistenceTypeAttribute.cs
- ExpressionList.cs
- NgenServicingAttributes.cs
- ServiceHostFactory.cs
- PasswordTextContainer.cs
- DrawingState.cs
- Parameter.cs
- Package.cs
- DriveNotFoundException.cs
- HtmlHead.cs
- DataServiceCollectionOfT.cs
- JumpPath.cs
- Missing.cs
- ButtonFlatAdapter.cs
- ZipIOLocalFileHeader.cs
- LeftCellWrapper.cs