Code:
/ Dotnetfx_Win7_3.5.1 / Dotnetfx_Win7_3.5.1 / 3.5.1 / DEVDIV / depot / DevDiv / releases / whidbey / NetFXspW7 / ndp / fx / src / Configuration / System / Configuration / SubclassTypeValidator.cs / 1 / 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
- SecurityTokenSerializer.cs
- IndexedString.cs
- SimpleType.cs
- AsnEncodedData.cs
- FrameworkContentElement.cs
- BitmapImage.cs
- XAMLParseException.cs
- EventLogPermission.cs
- SchemaEntity.cs
- PageParserFilter.cs
- PeerApplicationLaunchInfo.cs
- Visual3DCollection.cs
- EncodingTable.cs
- FontFamilyConverter.cs
- ToolStripButton.cs
- HtmlControlPersistable.cs
- IDQuery.cs
- CoreSwitches.cs
- PointHitTestParameters.cs
- SchemaNotation.cs
- Misc.cs
- ToolStripDropDownItem.cs
- DocumentViewerConstants.cs
- CodeRemoveEventStatement.cs
- RectangleConverter.cs
- TreeNodeStyleCollection.cs
- TextElementCollection.cs
- Matrix3DConverter.cs
- DbExpressionVisitor_TResultType.cs
- DataServiceCollectionOfT.cs
- _SpnDictionary.cs
- NativeMethods.cs
- RestHandler.cs
- StreamResourceInfo.cs
- ListParagraph.cs
- BindingGroup.cs
- dsa.cs
- MessageTransmitTraceRecord.cs
- HttpBrowserCapabilitiesWrapper.cs
- DocumentPaginator.cs
- HttpCachePolicy.cs
- Journaling.cs
- SqlSelectClauseBuilder.cs
- ErrorFormatter.cs
- EditingCoordinator.cs
- dbenumerator.cs
- ShimAsPublicXamlType.cs
- HttpErrorTraceRecord.cs
- SerializationSectionGroup.cs
- BuilderInfo.cs
- GradientStop.cs
- XMLDiffLoader.cs
- WebPartExportVerb.cs
- _NativeSSPI.cs
- SplashScreen.cs
- XamlGridLengthSerializer.cs
- ImageMetadata.cs
- SharedConnectionInfo.cs
- MouseGesture.cs
- ClassImporter.cs
- XPathPatternBuilder.cs
- XmlSortKey.cs
- KeyToListMap.cs
- Parameter.cs
- InstanceOwnerException.cs
- ToolBarTray.cs
- Part.cs
- FixedNode.cs
- NetWebProxyFinder.cs
- RoleGroup.cs
- SoapFormatExtensions.cs
- DataGridViewComponentPropertyGridSite.cs
- HijriCalendar.cs
- LinearGradientBrush.cs
- WebEventCodes.cs
- ProgressBarHighlightConverter.cs
- ValueExpressions.cs
- ToolTip.cs
- XPathEmptyIterator.cs
- PointIndependentAnimationStorage.cs
- SerialStream.cs
- EasingKeyFrames.cs
- UnsafeNativeMethods.cs
- LinearKeyFrames.cs
- FixedTextContainer.cs
- DetailsViewInsertedEventArgs.cs
- CodeTypeDeclaration.cs
- CachedFontFace.cs
- Semaphore.cs
- ImportCatalogPart.cs
- GPPOINT.cs
- PageThemeParser.cs
- HtmlTernaryTree.cs
- EmptyTextWriter.cs
- DynamicPropertyReader.cs
- AnnotationComponentChooser.cs
- EventTrigger.cs
- CheckBoxStandardAdapter.cs
- CheckableControlBaseAdapter.cs
- Buffer.cs