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
- Int16AnimationBase.cs
- PagedDataSource.cs
- InputGestureCollection.cs
- RecordsAffectedEventArgs.cs
- ContentFilePart.cs
- NetCodeGroup.cs
- ListItemCollection.cs
- SessionEndingCancelEventArgs.cs
- SourceInterpreter.cs
- CollectionConverter.cs
- DocumentViewerHelper.cs
- RoutedEventValueSerializer.cs
- DrawingContextWalker.cs
- BmpBitmapEncoder.cs
- NetworkInterface.cs
- HttpDebugHandler.cs
- RecipientInfo.cs
- XPathNavigatorReader.cs
- BulletedList.cs
- AnimationTimeline.cs
- DataViewSetting.cs
- TextEffect.cs
- DataGridTextBoxColumn.cs
- AnnotationElement.cs
- HasCopySemanticsAttribute.cs
- RegexStringValidatorAttribute.cs
- AssemblyHash.cs
- ListItemParagraph.cs
- TemplatePropertyEntry.cs
- StrokeIntersection.cs
- ProcessModuleCollection.cs
- FontStyleConverter.cs
- AssemblyUtil.cs
- safePerfProviderHandle.cs
- VerticalAlignConverter.cs
- SHA1Managed.cs
- WebPartsPersonalization.cs
- SplashScreen.cs
- ISAPIWorkerRequest.cs
- DbConnectionPoolOptions.cs
- SignatureToken.cs
- RuntimeHelpers.cs
- NamespaceEmitter.cs
- ConditionalWeakTable.cs
- FilteredAttributeCollection.cs
- MembershipSection.cs
- DateTimeOffset.cs
- TextEffectResolver.cs
- WindowsScrollBar.cs
- MultipleViewPattern.cs
- ContextMenuService.cs
- NumberFormatInfo.cs
- DescendentsWalkerBase.cs
- GridItemProviderWrapper.cs
- SqlMethods.cs
- AsymmetricSignatureFormatter.cs
- QueryException.cs
- DeclarationUpdate.cs
- DataPagerCommandEventArgs.cs
- OleDbPropertySetGuid.cs
- Error.cs
- _ConnectionGroup.cs
- MruCache.cs
- TextProviderWrapper.cs
- Point4D.cs
- SchemaImporter.cs
- VisualBrush.cs
- IsolationInterop.cs
- JournalEntryListConverter.cs
- AuthenticatingEventArgs.cs
- MenuTracker.cs
- DoubleAnimationUsingPath.cs
- ShapeTypeface.cs
- DeclaredTypeElement.cs
- processwaithandle.cs
- BuildManager.cs
- SeekStoryboard.cs
- RealizedColumnsBlock.cs
- mactripleDES.cs
- Clock.cs
- Grant.cs
- TimestampInformation.cs
- DateTimeOffsetStorage.cs
- IndentedWriter.cs
- Regex.cs
- SqlDataSourceSelectingEventArgs.cs
- CatalogZoneBase.cs
- SchemaReference.cs
- VirtualizingPanel.cs
- CompiledQuery.cs
- ResizeGrip.cs
- ControlUtil.cs
- bidPrivateBase.cs
- BinHexDecoder.cs
- CodeNamespace.cs
- HexParser.cs
- EffectiveValueEntry.cs
- Soap12ProtocolImporter.cs
- PrePrepareMethodAttribute.cs
- XmlSerializerAssemblyAttribute.cs