Code:
/ 4.0 / 4.0 / DEVDIV_TFS / Dev10 / Releases / RTMRel / ndp / fx / src / Configuration / System / Configuration / SubclassTypeValidator.cs / 1305376 / SubclassTypeValidator.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 { // This class validates that the value is a subclass of a specified type public sealed class SubclassTypeValidator : ConfigurationValidatorBase { private Type _base; public SubclassTypeValidator(Type baseClass) { if (baseClass == null) { throw new ArgumentNullException("baseClass"); } _base = baseClass; } public override bool CanValidate(Type type) { return (type == typeof(Type)); } public override void Validate(object value) { if (value == null) { return; } // Make a check here since value.GetType() returns RuntimeType rather then Type if (!(value is Type)) { ValidatorUtils.HelperParamValidation(value, typeof(Type)); } if (!_base.IsAssignableFrom((Type)value)) { throw new ArgumentException(SR.GetString(SR.Subclass_validator_error, ((Type)value).FullName, _base.FullName)); } } } } // 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 { // This class validates that the value is a subclass of a specified type public sealed class SubclassTypeValidator : ConfigurationValidatorBase { private Type _base; public SubclassTypeValidator(Type baseClass) { if (baseClass == null) { throw new ArgumentNullException("baseClass"); } _base = baseClass; } public override bool CanValidate(Type type) { return (type == typeof(Type)); } public override void Validate(object value) { if (value == null) { return; } // Make a check here since value.GetType() returns RuntimeType rather then Type if (!(value is Type)) { ValidatorUtils.HelperParamValidation(value, typeof(Type)); } if (!_base.IsAssignableFrom((Type)value)) { throw new ArgumentException(SR.GetString(SR.Subclass_validator_error, ((Type)value).FullName, _base.FullName)); } } } } // 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
- MessageQueueEnumerator.cs
- MetadataCache.cs
- BinaryOperationBinder.cs
- BamlRecordWriter.cs
- Event.cs
- Stack.cs
- ObjectCloneHelper.cs
- StylusTip.cs
- PrintPreviewGraphics.cs
- ListParagraph.cs
- AggregateException.cs
- GradientStop.cs
- ProviderConnectionPoint.cs
- SessionEndedEventArgs.cs
- TraceFilter.cs
- PlatformNotSupportedException.cs
- ThreadStateException.cs
- TreeNodeBinding.cs
- AppLevelCompilationSectionCache.cs
- PropertyInformationCollection.cs
- EventLogSession.cs
- sqlstateclientmanager.cs
- ToolStripItemCollection.cs
- DecimalAnimationUsingKeyFrames.cs
- AspCompat.cs
- ResXResourceWriter.cs
- AspNetHostingPermission.cs
- EmissiveMaterial.cs
- IPCCacheManager.cs
- ObjectDataSourceDisposingEventArgs.cs
- PointCollectionValueSerializer.cs
- EventProviderWriter.cs
- Size.cs
- ProviderSettingsCollection.cs
- HttpProfileGroupBase.cs
- AsyncContentLoadedEventArgs.cs
- LoginName.cs
- StringReader.cs
- ExceptionValidationRule.cs
- ArrangedElementCollection.cs
- SqlBinder.cs
- LinearKeyFrames.cs
- WebPartCloseVerb.cs
- SizeFConverter.cs
- UnsignedPublishLicense.cs
- DoubleAnimationUsingKeyFrames.cs
- AuthenticatedStream.cs
- RotateTransform.cs
- CodeExpressionStatement.cs
- ButtonChrome.cs
- DbParameterHelper.cs
- SimpleLine.cs
- CapabilitiesUse.cs
- TrustSection.cs
- EditorZoneAutoFormat.cs
- _IPv6Address.cs
- odbcmetadatacollectionnames.cs
- XmlCharCheckingWriter.cs
- ToolboxCategory.cs
- TextDecoration.cs
- BinaryMessageFormatter.cs
- XmlImplementation.cs
- OutputCacheSettings.cs
- CombinedTcpChannel.cs
- EndpointInstanceProvider.cs
- FormsAuthenticationConfiguration.cs
- WmlMobileTextWriter.cs
- SymbolDocumentInfo.cs
- DBBindings.cs
- ZipPackagePart.cs
- Models.cs
- UIAgentRequest.cs
- MetadataArtifactLoaderCompositeResource.cs
- WebServiceParameterData.cs
- SkewTransform.cs
- Symbol.cs
- ScrollPatternIdentifiers.cs
- SetStoryboardSpeedRatio.cs
- ReservationNotFoundException.cs
- ViewSimplifier.cs
- XmlDataLoader.cs
- RTLAwareMessageBox.cs
- ModifierKeysValueSerializer.cs
- TdsValueSetter.cs
- ADMembershipUser.cs
- Subtree.cs
- DifferencingCollection.cs
- UInt64Converter.cs
- _DomainName.cs
- FormattedTextSymbols.cs
- SamlSecurityTokenAuthenticator.cs
- PeerCustomResolverElement.cs
- DataGridState.cs
- fixedPageContentExtractor.cs
- HostedBindingBehavior.cs
- TextParentUndoUnit.cs
- PropertyPath.cs
- XPathBinder.cs
- LocalBuilder.cs
- CompositeControl.cs