Code:
/ 4.0 / 4.0 / DEVDIV_TFS / Dev10 / Releases / RTMRel / ndp / fx / src / Configuration / System / Configuration / CallbackValidator.cs / 1305376 / CallbackValidator.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 {
public sealed class CallbackValidator : ConfigurationValidatorBase {
Type _type;
ValidatorCallback _callback;
public CallbackValidator(Type type, ValidatorCallback callback) : this(callback) {
if (type == null) {
throw new ArgumentNullException("type");
}
_type = type;
}
// Do not check for null type here to handle the callback attribute case
internal CallbackValidator(ValidatorCallback callback) {
if (callback == null) {
throw new ArgumentNullException("callback");
}
_type = null;
_callback = callback;
}
public override bool CanValidate(Type type) {
return (type == _type || _type == null);
}
public override void Validate(object value) {
_callback(value);
}
}
}
// 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 {
public sealed class CallbackValidator : ConfigurationValidatorBase {
Type _type;
ValidatorCallback _callback;
public CallbackValidator(Type type, ValidatorCallback callback) : this(callback) {
if (type == null) {
throw new ArgumentNullException("type");
}
_type = type;
}
// Do not check for null type here to handle the callback attribute case
internal CallbackValidator(ValidatorCallback callback) {
if (callback == null) {
throw new ArgumentNullException("callback");
}
_type = null;
_callback = callback;
}
public override bool CanValidate(Type type) {
return (type == _type || _type == null);
}
public override void Validate(object value) {
_callback(value);
}
}
}
// 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
- DefaultPropertyAttribute.cs
- CellPartitioner.cs
- OleDbInfoMessageEvent.cs
- CodeTypeParameterCollection.cs
- FrameworkTemplate.cs
- TextTreeNode.cs
- _LoggingObject.cs
- StrongTypingException.cs
- SelectionHighlightInfo.cs
- DataGridViewHitTestInfo.cs
- HttpGetProtocolImporter.cs
- FixedDocumentSequencePaginator.cs
- ReachFixedPageSerializer.cs
- SqlDataSourceStatusEventArgs.cs
- Brush.cs
- LambdaCompiler.cs
- ChannelEndpointElement.cs
- XamlParser.cs
- RegionData.cs
- AnimationClock.cs
- SmiMetaData.cs
- UnregisterInfo.cs
- CommonGetThemePartSize.cs
- ByteAnimation.cs
- AppDomainAttributes.cs
- CollectionViewGroupInternal.cs
- XmlDocumentViewSchema.cs
- AuthorizationRule.cs
- EncryptedData.cs
- SQLInt16.cs
- LogicalChannel.cs
- EncryptedData.cs
- StretchValidation.cs
- SurrogateEncoder.cs
- TriggerCollection.cs
- SoapExtensionReflector.cs
- SiteMapDataSourceView.cs
- SafeViewOfFileHandle.cs
- Graph.cs
- FamilyMap.cs
- SubqueryRules.cs
- XslTransform.cs
- ConstraintManager.cs
- SymmetricCryptoHandle.cs
- CqlIdentifiers.cs
- JournalNavigationScope.cs
- DiscoveryReferences.cs
- FigureParagraph.cs
- SetStoryboardSpeedRatio.cs
- ListBoxAutomationPeer.cs
- DefaultWorkflowLoaderService.cs
- TypeDelegator.cs
- XamlWriter.cs
- XslTransform.cs
- LinqDataSourceEditData.cs
- RtfFormatStack.cs
- DataGridViewColumn.cs
- CompatibleComparer.cs
- StorageInfo.cs
- UserControlParser.cs
- TypeDescriptionProvider.cs
- AutomationEvent.cs
- Polyline.cs
- DataColumnChangeEvent.cs
- GenerateScriptTypeAttribute.cs
- AutoScrollExpandMessageFilter.cs
- WindowsProgressbar.cs
- ThemeDictionaryExtension.cs
- sqlinternaltransaction.cs
- TextContainerHelper.cs
- MetadataUtil.cs
- Accessible.cs
- AttributedMetaModel.cs
- SplashScreen.cs
- PreviewPrintController.cs
- MessageDecoder.cs
- FontInfo.cs
- EasingKeyFrames.cs
- SynchronizedInputPattern.cs
- SatelliteContractVersionAttribute.cs
- SmtpAuthenticationManager.cs
- SharedConnectionWorkflowTransactionService.cs
- SqlWorkflowPersistenceService.cs
- SharedPersonalizationStateInfo.cs
- BreadCrumbTextConverter.cs
- SessionStateSection.cs
- DefaultMemberAttribute.cs
- JsonServiceDocumentSerializer.cs
- unsafeIndexingFilterStream.cs
- DefaultObjectMappingItemCollection.cs
- DataControlField.cs
- Win32.cs
- SpecularMaterial.cs
- FactoryRecord.cs
- ClientType.cs
- OperationValidationEventArgs.cs
- XsdCachingReader.cs
- SqlPersonalizationProvider.cs
- Viewport3DAutomationPeer.cs
- DataContractAttribute.cs